[英]Macro definition for “.global”
我有一个使用“ .global”汇编语言代码的“ c”程序。 我的编译器不允许这样做,我需要忽略它,我尝试了以下操作:
#define .global //global
但这会导致编译器错误。 我还有其他选择可以使用吗? 编译错误是:
“期望一个标识符”
几乎可以肯定,您最终将编写自己的预处理脚本。 如果您的源文件受到合理控制,应该不会太困难。 例如,如果您不在字符串文字或注释中使用.global
构造,则只需执行以下操作:
sed 's/.global [_[:alpha:]][_[:alnum:]]*;//g'
(也许更多地注意空白)。
您不能使用宏进行注释。 (您也不能定义名称以.
开头的宏,尽管我想可能会有一个接受该扩展名的编译器。)
在翻译过程的第3阶段中,注释将替换为空格。 直到阶段4才检查预处理器指令,到那时所有注释都消失了。
所以两者之间没有区别
#define COMMENT //comment
#define COMMENT
标准参考:§5.1.1.2/ 1:
源文件被分解为预处理令牌7)和空白字符序列(包括注释)。 源文件不得以部分预处理令牌或部分注释结尾。 每个注释都用一个空格字符代替。…
执行预处理指令,扩展宏调用,并执行_Pragma
一元运算符表达式。…
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.