3
假設我想編寫自己的預處理程序。llvm預處理程序g ++通過
所以我想是這樣的:
所有*的.cpp和* .HPP(甚至包括那些),他們去之前,G ++,他們去:
file --> my preprocessor -> g++
是否有一個簡單的在LLVM框架中做到這一點的方法?即添加一個階段,說:「加載源文件後,在編譯之前通過該程序管道」?
謝謝!
假設我想編寫自己的預處理程序。llvm預處理程序g ++通過
所以我想是這樣的:
所有*的.cpp和* .HPP(甚至包括那些),他們去之前,G ++,他們去:
file --> my preprocessor -> g++
是否有一個簡單的在LLVM框架中做到這一點的方法?即添加一個階段,說:「加載源文件後,在編譯之前通過該程序管道」?
謝謝!
思路:
cpp
。你可以很容易地(-no-integrated-cpp
)使gcc
打電話給你的cpp
版本,這將調用真正的cpp
。gcc -E
,收集包含的文件名,用程序讀取所有文件,刪除「#include」行。變體偏好:4,3,1,2,5。
是的,讓Clang驅動程序做你想做的事情是很容易的,儘管它並不支持你想要的開箱即用。
你使用llvm-gcc還是clang?另外,你的意思是你想在編譯器獲得它們之前以某種方式預處理#include文件(即#include指令中的某種鉤子)? – 2010-02-16 12:35:47
我也願意使用。 我希望在標準的#define宏執行之前調用我的圖層。 – anon 2010-02-16 21:46:24
/*要求標籤:cpp預處理器* / – 2010-03-26 03:20:21