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