繁体   English   中英

linux内核模块构建中的特定宏值

[英]specific macro value in linux kernel module build

在构建内核模块时如何找出特定的内核宏值。

有很多宏选项,我希望知道在构建时分配给“特定宏”的值以及定义它的行号。

我很早以前就读过这本书...我知道这很有可能。

例如:使模块SUBDIRS = drivers / net / e1000 /

现在,在e1000中使用了一个宏HAVE_VLAN_IN_HW。

在构建模块时,我想知道它的确切来源(宏定义及其值)。

我应该用更好的关键字谷歌搜索它,例如预处理输出:

在这里您可以找到所有相关信息:

http://kernelnewbies.org/FAQ/KernelCrossCompilation

内核编译的另一个方面是,它可以帮助您生成预处理文件。 当您怀疑宏可能有问题时,此功能非常有用。 在2.4天内,我们可以获取命令行并添加-c选项,并将gcc预处理程序的结果重定向到文件。 在2.6中,它内置在内核中。 这是怎么回事。

说,我想为kernel / dma.c,#make kernel / dma.i生成预处理器输出

做完了 打开kernel / dma.i,查看预处理器对dma.c做了什么

这也可用于模块(不是内核的一部分)。

我们大多数人使用Linux交叉引用来查找函数,宏和变量的声明位置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM