问题
我尝试从 C 代码中删除__attribute__
,然后再将其发送到解析器中。有没有办法使用-D
参数定义类似函数的宏?
使用标题文件的解决方案
#define __attribute__(x)
尝试解决方案
gcc -E -D__attribute__(x)= testfile.c
gcc -E -D__attribute__(x) testfile.c
答案 0 :(得分:15)
来自手册页
xmlns:tools="http://schemas.android.com/tools"
所以这适用于Unix / Linux shell
If you wish to define a function-like macro on the command line,
write its argument list with surrounding parentheses before the
equals sign (if any). Parentheses are meaningful to most shells,
so you will need to quote the option. With sh and csh,
-D'name(args...)=definition' works.
在Windows CMD上原始表达式有效,因为括号不是特殊的:
gcc -D'__attribute__(x)='