我有 C++ 代码,里面有一些 C 代码
extern "C"{
...
}
int main(){
...
}
我用类似的东西编译它
g++ -std=c++11 main.cpp
用于编译我的代码的 C
部分的 C
标准的版本是什么?如何为我的 C 代码段明确设置版本?
最佳答案
extern "C"
block 中的代码仍被编译为 C++(在您的情况下为 C++11)。 extern "C"
只是给它 C
链接。
C 链接意味着可以从 C 调用 block 中定义的函数,声明但未定义的函数必须由 C 程序定义,或者由具有 C 链接的目标文件定义。
如果你想写C代码,用C写,然后用C编译器。 extern "C"
用于编写可从 C 调用的 C++ 代码,或允许 C++ 代码调用 C(或 C ABI)代码。
关于c++ - 如何为 extern "C"设置 C 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23932413/