【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
最近一段时间学习编译器,一直被c预处理的事情烦恼着。今天上网查资料,发现在linux平台上面有一个cpp命令。我们在调用gcc -E的时候,其实在后面调用的其实就是cpp。
1、基本命令用法
cpp [-options] input_file output_file
2、常用选项
-D name
-D name=definition
-U name
-undef
-I dir
-Wall
-Wcomments
-Wendif-labels
-w
-M
-MM
-x c
-x c++
-x objective-c
-x assembler-with-cpp
3、示例用法
cpp hello.c hello.txt
ps:这个程序是gcc提供的,所以如果需要看代码,那么需要下载gcc的相关代码。这也从另外一个角度说明,gcc本身完成的工作就是c文件到asm文件的转变,预处理、汇编编译、链接、反汇编、二进制提取这些都是其他程序来完成的。