gcc的-E选项什么意思

gcc的-E选项可以为你生成预编译后的文件。预编译后的文件将把c文件中的宏以及该文件包含的所有头文件展开。这样就没有了一层一层进入嵌套包含的头文件。下面是一个使用gcc的-E选项的例子。

下面是来自gcc mannual page的解释:

-E Stop after the preprocessing stage; do not run the compiler proper. The output is in the form of  preprocessed source code, which is sent to the standard output. Input files which don't require preprocessing are ignored.

 

$ gcc -E drivers/char/mydrv.c -D__KERNEL__ -Iinclude -Iinclude/asm-x86/mach-default > mydrv.i

 

其中的-I选项告诉编译器在哪些目录中搜索所需要的头文件。

还可以用gcc的-S选项生成汇编码的文件。如:

$ gcc -S drivers/char/mydrv.c -D__KERNEL__ -Iinclude -Ianother/include/path

blog.ykyi.net