我知道gcc做到了。但我想要一個可以這樣做的C程序。該程序應該接受一個.c文件,並執行預處理操作並生成.i文件 供參考:這是一個項目,分配給他的大學我的親屬。從.c文件生成.i文件
回答
使用命令cc -E file.c -o file.i
這會給你預處理文件。欲瞭解更多信息,請參閱man頁面。
只需再次閱讀您的問題。你想編寫程序,創建該文件。 那麼你必須爲此做很多工作。首先,你需要閱讀#include
,#define
和條件包含(#if, #elif #endif
),然後你需要檢測< >
和" "
,閱讀這些符號中的文件。那麼你必須fopen()
這些文件並將其粘貼到.i文件中。
總結起來,這將是很多工作,但這是做到這一點。
編輯它不只是複製過去。讀取頭文件意味着#include裏面現在說你的頭文件是abc.h,那麼你必須搜索可以存在.h文件的所有預定義位置。如果發現你需要fopen()該文件讀取它的內容並將其寫入你的.c文件。另外你必須照顧宏指令和條件包含。相信我,我已經嘗試過了,它的很多工作。但你可以嘗試它會提高你的基本
是的。我想編寫程序..讀取頭文件?意味着我需要將所有從頭文件粘貼到.i文件中? – user2940249
**供參考:這是一個項目,分配給我的親屬在他的大學。**教授可能已經給了一些條件來做這個項目。 –
我不知道任何條件。謝謝你的幫助。這澄清了幾乎一切。 – user2940249
如果你不能使用外部程序,如gcc,你必須自己實現C預處理器。整個預處理器在C Programming Language specification的「預處理指令」一節中有描述。或者,如果你不能使用其他程序,但你不想自己實現它,你可以嘗試使用libclang作爲一個庫(儘管如此,你需要C++)。
- 1. I/O C++從文本文件閱讀
- 2. 從生成文件
- 3. 從文件生成
- 4. 從C++頭文件生成Java接口
- 5. 如何從C-hexvalues生成文件?
- 6. 從WSDL文件生成C#.net類
- 7. 從頭自動生成C++文件?
- 8. 從.h文件生成.cpp源文件
- 9. 從Excel文件生成.rdl文件
- 10. 從目標文件生成頭文件
- 11. CSV文件生成器C
- 12. C++ gSOAP文件生成
- 13. asp.net C#生成PDF文件
- 14. C++生成文件錯誤
- 15. 以任何方式從.c和.h文件生成JNI文件?
- 16. 從多個.c文件生成多個.so和.o文件
- 17. 如何使用Axis2c從WSDL文件生成C文件
- 18. 如何使用C#從Word/Excel文件生成PDF文件?
- 19. 文件I/O管理C
- 20. C++中的文件I/O
- 21. C++文件I/O錯誤?
- 22. C++文件I/O問題
- 23. 的I/C++文件的Ø
- 24. 從plist文件生成tableview
- 25. 從HTM文件生成MHT
- 26. 從xCode生成.ipa文件
- 27. 從WSDL生成XML文件
- 28. 從rspec生成HTML文件
- 29. 從Powerdesigner生成XSD文件
- 30. 從JSON生成Xcdatamodel文件
爲什麼?你想解決什麼問題?爲什麼你不能簡單地使用'gcc -E'?或者你想實現你自己的預處理器嗎? –
GCC是一個C程序...所以... – StoryTeller
@StoryTeller不,這是一個(驚喜)C++程序。雖然舊版本是C. –