gpt4 book ai didi

c - 是否有 GCC 选项将 foo() 视为 foo(void)?

转载 作者:太空宇宙 更新时间:2023-11-04 08:51:16 25 4
gpt4 key购买 nike

我正在为一种输出 GNU C 作为中间代码的语言创建编译器。 (是的,我知道有更好的 IR 方法,但我很懒,无论如何我都会将其重写为自托管)。

目前,如果我创建一个没有参数的函数,我的编译器会生成

bar foo(){/*Implementation here*/}

这与期望的行为不同:

bar foo(void){/*Implementation here*/}

但是,我希望 GCC 将前者视为后者(否则我必须在我的代码中做一个特例)。

是否有 GCC 的标志来执行此操作?

最佳答案

搜索了 gcc 提供的大量选项后,我没有找到任何接近您想要的选项。

但是,如果您要生成 C 代码,我相信您有责任生成正确 代码。 gcc 成员非常清楚“零参数”函数和“不确定数量的参数”函数之间的区别。因此,我的建议是硬着头皮将这种特殊情况插入到您的代码中。

如果它的结构正确,你应该只需要在一个地方进行更改:-)

关于c - 是否有 GCC 选项将 foo() 视为 foo(void)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19617514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com