哪个c方言可以让GCC编译一些乐趣(...)?

You*_*Bet 6 c gcc dialect

编译一些具有函数原型的遗留代码Ac

void somefun(...)
Run Code Online (Sandbox Code Playgroud)

gcc 4.1.2总是说出错误

 error: ISO C requires a named argument before ...
Run Code Online (Sandbox Code Playgroud)

但我无法修改代码,所以我应该使用什么C dialet选项让GCC编译这段代码?

gcc -c A.c ????
Run Code Online (Sandbox Code Playgroud)

Fre*_*Foo 3

我认为 GCC 中的任何 C 方言都不接受这一点,但 G++ 接受。您可以做的是将函数定义放在一个extern "C" {}块中,并编译包含它的模块g++(假设它也是一个有效的 C++ 函数)。

然后您必须在 C 中使用(K&R 风格)声明它void somefun()

g++不过,这也需要链接。

如果 C++ 链接不是您想要的,那么您应该将该函数更改为不带参数并以 K&R 风格声明它。