我有一個C++程序,其處理的輸入文件。我想爲我的程序添加預處理功能。這是說,輸入文件的樣子:添加C/C++等前處理能力到程序
%pre-processing section
#include <some_parent_file>
#define x y
#ifdef 0
some useless text
#endif
%actual file-contents
... lots of text ...
然後我的程序會自動包括父文件中的文本,做的#define的東西,並進行其他預處理。我可以在調用我的程序之前使用腳本(使用g ++ -E),但是我希望能夠在我的程序中執行此操作,因爲這樣可以提供更大的靈活性。
當「實際文件內容」部分中的行以散列開頭時,「g ++ -E」將假定預處理器指令(g ++ -E不知道我想將我的代碼分成兩部分!)。此外,如果我可以使用只是「實際文件內容」部分中的ifdef功能,那將是驚人的。
我可以嵌入我的程序只使用我想要的功能從gcc編譯器的預處理能力範圍內的C++代碼?
您有具體問題嗎? –
只要你的程序fork一個進程在提供的文件上運行g ++ -E,並處理結果。 –
只要你在宏中不太瘋狂,它看起來相當簡單。你有什麼問題? –