我想在 Windows 上使用 Visual Studio 检查 Linux 内核源代码。但我不知道该怎么做。我是否需要虚拟机来运行或调试内核,或者我有什么特殊的方法可以做到这一点???
最佳答案
“内核检查”对您意味着什么?
为什么不能更简单的研究一下Linux内核的源代码呢?
是free software , 你不能从 kernel.org 获取它的源代码
您的 Linux 供应商极有可能发布其 Linux 内核变体的源代码,或针对 vanilla 内核源代码的补丁。 GPLv2 Linux 内核的许可证几乎要求这样的行为。
Linux 系统为您提供了很多工具(objdump
, ....)来研究 ELF 可执行镜像(就像 Linux 内核主要是......)
您可能无法使用 Visual Studio 编译 Linux 内核。你需要GCC (或一个非常兼容的编译器)。 Linux 源代码使用了许多 GCC 扩展。
我的建议是在你的开发机器上安装一个 Linux 系统(如果你想保留 Windows 来玩游戏,你可以有双启动......)并学习它并使用 Linux 工具(包括 emacs
, grep
, etags
etc....)学习Linux源代码。请记住,Linux 是构建 Linux 内核的首选平台...(如果您的发行版是 Debian 或 Ubuntu 或类似的,请了解 make-kpkg
)
还阅读了一些关于 Advanced Linux Programming 的好书以及关于 Linux 内核(有很多内核)。
顺便说一句,您甚至可以自定义 GCC 编译器,例如使用插件或 MELT扩展,以测量、搜索甚至重构内核的源代码。另见 cocinelle .
关于Windows 中的 Linux 内核检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16480387/