【发布时间】:2014-01-17 04:29:26
【问题描述】:
让我们编写以下最简单的模块源文件:
#include <linux/init.h>
#include <linux/module.h>
static int __init md_init(void){
printk("Hello kernel");
return 0;
}
static void __exit md_exit(void){
printk("Goodbye kernel");
}
module_init(md_init);
module_exit(md_exit);
预处理后如何查看此源?我想知道__init 和__exit 宏是如何部署的,module_init(md_init) 和module_exit(md_exit) 是什么?它是如何工作的?
【问题讨论】:
-
您在寻找
gcc -E吗? -
@Nemo 在我的情况下如何使用?当我们编写内核 Makefile 时,我们使用的是包含在
/lib/modules/$(shell uname -r)/build的子 make。
标签: c linux macros linux-kernel