【发布时间】:2013-11-06 04:55:29
【问题描述】:
我正在为一种将 GNU C 作为中间代码输出的语言创建编译器。 (是的,我知道做 IR 有更好的方法,但我很懒,无论如何我都会将其重写为自托管)。
目前,如果我创建一个不带参数的函数,我的编译器会生成
bar foo(){/*Implementation here*/}
这与期望的行为不同:
bar foo(void){/*Implementation here*/}
但是,我希望 GCC 将前者视为后者(否则我必须在我的代码中做一个特殊情况)。
GCC 是否有一个标志可以做到这一点?
【问题讨论】:
-
我怀疑存在,因为这是没有意义的。
-
@alk:我也怀疑,但 GCC 大得惊人。
-
是的,它强大但不够愚蠢,可以提供显然会妨碍其任务的功能,即编译 C 源代码。而且要求的不是C。但是gcc有一个插件接口。并且每个人都可以免费使用它,并以此为 gcc 添加功能。
-
@alk:我很欣赏这可能没有充分的理由。只是想知道。
-
以
g++的身份调用 gcc ;)
标签: c gcc intermediate-code