如何为外部"C"设置C版本?

How to set a C version for extern "C"?

本文关键字:版本 设置 外部      更新时间:2023-10-16

我有c++代码里面有一些C代码

extern "C"{
 ...
}
int main(){
...
}

我用类似

的东西编译它
g++ -std=c++11 main.cpp

用于编译我的代码的C部分的C标准的版本是什么?我如何显式地为我的C代码片段设置一个版本?

extern "C"块中的代码仍然被编译为c++(在您的情况下为c++ 11)。extern "C"只给C键。

C链接意味着在块中定义的函数可以从C调用,而声明但未定义的函数必须由C程序定义,否则由具有C链接的对象文件定义。

如果你想写C代码,用C写,并使用C编译器。extern "C"用于编写可从C调用的c++代码,或允许c++代码调用C(或C ABI)代码。