首页 > 试题广场 >

extern "c"的作用有哪些()

[单选题]
extern "c"的作用有哪些()
  • 实现C++代码调用其他C语言代码
  • 使C函数不被C++编译器优化
  • 使C函数使用C编译器优化
  • 到出C变量或函数
推荐
【正确答案】A
【解析】extern "C" 的作用是为了能够正确的实现 C++ 代码调用 C 语言代码。加上 extern "C" 后,会指示编译器这部分代码按照 C 语言(而不是 C++)的方式进行编译。由于 C++ 支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名;而C语言并不支持函数重载,因此编译 C 语言代码的函数时不会带上函数的参数类型,一般只包括函数名。 这个功能十分有用处,因为在 C++ 出现以前,很多代码都是 C 语言写的,而且很底层的库也是 C 语言写的,为了更好的支持原来的 C 代码和已经写好的 C 语言库,需要在 C++ 中尽可能的支持 C,而 extern "C" 就是其中的一个策略。
 
extern "C"知识点讲解】
更多C++基础专业知识讲解,点击链接即可查看
编辑于 2021-11-18 08:42:13 回复(0)
原来如此
发表于 2022-01-17 10:05:04 回复(0)
extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言的进行编译,而不是C++的。由于C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名;而C语言并不支持函数重载,因此编译C语言代码的函数时不会带上函数的参数类型,一般之包括函数名。
发表于 2020-12-24 20:03:41 回复(0)
 extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言的进行编译,而不是C++的。由于C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名;而C语言并不支持函数重载,因此编译C语言代码的函数时不会带上函数的参数类型,一般之包括函数名。

发表于 2019-11-28 08:44:52 回复(0)
1. 声明函数为C语言风格的函数,使其可以在C++中调用。
2. 防止函数名在C++中被C++编译器修改,保持函数名的原始风格。
3. 在C++中调用C语言库函数时,可以使用extern "C"来声明函数的链接规范,以便正确链接C语言库函数。
发表于 2023-12-26 19:33:51 回复(0)
extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言的进行编译
发表于 2023-10-22 10:59:09 回复(0)

不明白

发表于 2019-11-26 16:14:43 回复(0)
发表于 2020-02-04 09:40:59 回复(0)