2010-01-26 36 views
1

gcc 4.4.2 c89輸出到文本文件的預編譯代碼

我有一個名爲main.c的文件。

我想要預編譯器的結果並將其保存到文本文件中。

我已經做了以下創建一個文本文件,但沒有任何內容。它是零字節。

gcc -E main.c | > main.txt 

非常感謝您的任何建議,

+0

預處理代碼的一個(有點)標準擴展是'.i' – 2010-01-26 08:42:09

+0

注意:這是**預處理的**源代碼。預編譯(頭文件)是二進制格式,結果不僅僅是預處理程序,還有一些正在執行的編譯器步驟。 – 2010-01-26 08:44:48

回答

1

您不需要使用管道運算符將輸出重定向到文本文件。只需使用

gcc -E main.c > main.txt 
+0

在這篇文章中找到答案http://stackoverflow.com/questions/2133009/how-can-i-compile-c-code-that-has-already-been-c-pre-processed-with-gcc。但是,我確實嘗試過,但對我無效。我收到一些錯誤,說它找不到一些頭文件。但是,這是做到這一點的正確方法。謝謝。 – ant2009 2010-01-26 08:43:19

+0

@robUK:什麼? 。 – 2010-01-26 08:44:59

1

擺脫|的,或使用gcc -E main.c -o main.txt

1

您可能想要查看'cpp'程序,該程序是gcc使用的C預處理程序。

cpp in.c > out.c 
2

除了明顯的錯誤:

gcc -E main.c > main.txt 

...你也可以直接使用C預處理:

cpp main.c > output.c 

...其中有被independed的額外好處的編譯器,並可能在另一個工具鏈中使用。

在這兩種情況下,如果出現問題,請查看預處理器command line options