【发布时间】:2012-09-08 16:34:32
【问题描述】:
我在公司里浏览了一些旧的 C 代码,这些代码是在没有 gcc -flags 选项的情况下编译的,我遇到了一行奇怪的代码。
#define foo(a,b) foonew(a,b, ;)
谁能给我解释一下这是做什么的?
编辑:
因为它是未使用gcc -flags 编译的大型代码库的一部分,所以我看不到预处理的form.Compilation 是否成功完成而没有错误或警告。
【问题讨论】:
-
什么是
foonew?是另一个宏吗? (无论如何,这很奇怪) -
你能展示一个用例吗?
-
为什么不能编译?错误信息是什么?你怎么不能访问
foonew?它必须出现在代码中的某个地方,所以你是说你没有这个代码了? -
再一次,知道你不能编译它也无济于事。如果没有其他信息,我们根本无法为您提供帮助。逐步查看错误消息或编译器。如果您发现与上述宏相关的错误,请将其粘贴到此处。即使是“公司代码”,你也应该能找到
foonew。 -
如果您无法访问
foonew,则不得在代码库中的任何位置调用foo。如果foo在某处被调用,那么你就错了,你确实可以访问foonew。