我正在使用原语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