我正在使用原語C解析器不處理預處理器指令。C預處理程序正在刪除__align__和__attribute__
我可以用-E開關預處理大部分標題,沒有問題。
最近我發現案例屬性和對齊是否存在。
我就先用這個調整擺脫他們:
gcc -D "aligned(ARGS)" \
-D "__align__(ARGS)" \
-D "__attribute__(ARGS)" \
-E /usr/local/include/fancyheader.h
更新:
但沒有成功,例如:
struct __attribute__((aligned(16))) long4
{
long int x, y, z, w;
};
以上陳述轉化爲,與「1」待定約
struct 1 long4
{
long int x, y, z, w;
};
誰知道擺脫__align__和__attribute__擴展名的正確方法?
好吧,這個原始的C語言分析器是什麼,你想用它做什麼?當你試圖用-D指令去掉那些東西?只是「沒有成功」告訴我們什麼都沒有。 – 2011-04-21 15:56:57
如果你指定'gcc -xc -D ....',會發生什麼? – 2011-04-21 16:03:16