gpt4 book ai didi

c - 外部 "C"错误 #2040 : expected an identifier

转载 作者:太空狗 更新时间:2023-10-29 16:59:42 26 4
gpt4 key购买 nike

我仍在努力编译 C 控制台应用程序,编译过程仍然失败并出现以下错误:

"Main.c", line 51: error #2040: expected an identifier
extern "C" void TreatReceivedSignal( int NoSignal ) ;
^
1 error detected in the compilation of "Main.c".
gmake: *** [Main.o] Error 2

在 C 代码的 extern 方法声明下方:

extern "C" void TreatReceivedSignal( int NoSignal ) ;

我正在使用 HP-UX aCC 编译器 [HP C/aC++ B3910B A.06.26],我还打开了编译标志 -Ae 以启用 C99 支持。似乎编译器无法将 'extern "C"' 识别为 C 保留字,可能需要设置一些其他编译标志。请问有什么办法可以解决这类问题吗?非常感谢你提前。问候

最佳答案

extern "C" 构造是 C++ 特定的东西,它不能在 C 中使用。编译器将您的源文件视为 C 源文件,因为它具有扩展名 .c.

最常见的做法是使用预处理器有条件地为 C++ 编译添加:

#ifdef __cplusplus
extern "C" {
#endif

/* Standard C prototypes */

#ifdef __cplusplus
}
#endif

关于c - 外部 "C"错误 #2040 : expected an identifier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16192872/

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