【 聲明:版權所有,歡迎轉載,請勿用於商業用途。 聯繫信箱: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文件的轉變,預處理、彙編編譯、鏈接、反彙編、二進制提取這些都是其他程序來完成的。