extern "C" { void foo(int) { } }
"C" 代表c语言
这段代码应于在c++语言代码中
这段代码告诉c++调用者这是一段C代码
用nm查看,foo实际被命名为类似风格 `__Z4fooi`
int donothing(char a, int b, float &c, double &d)
__Z9donothingciRfRd
外部 "C" 块告诉 C++ 编译器,其中的函数应该按照 C 语言的命名规范进行命名,这样在链接时可以正确地与 C 语言函数进行匹配。因此,这段代码使得函数foo符合C语言的命名规范,可以被C++调用。
选项A中的"C" 代表的确实是C语言,但并不完全符合题目中的情景。
选项D提到通过nm查看,foo实际被命名为类似风格__Z4fooi,这是C++编译器对函数符号进行了修饰,而外部 "C" 块的作用就是告诉编译器不要对函数符号进行修饰,保持和C语言的一致性。
"C" 代表类c语言
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题