GCC使用-D参数定义类似函数的宏
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GCC使用-D参数定义类似函数的宏相关的知识,希望对你有一定的参考价值。
问题
我尝试从我的C代码中删除__attribute__
,然后将其发送到解析器。有没有办法使用-D
参数定义类似函数的宏?
解决方案使用头文件
#define __attribute__(x)
试图解决方案
gcc -E -D__attribute__(x)= testfile.c
gcc -E -D__attribute__(x) testfile.c
答案
从手册页
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.
所以这适用于Unix / Linux shell
gcc -D'__attribute__(x)='
在Windows CMD上,原始表达式有效,因为括号不是特殊的:
gcc -D__attribute__(x)=
以上是关于GCC使用-D参数定义类似函数的宏的主要内容,如果未能解决你的问题,请参考以下文章