C++ 基础面试题, C++ 中 extern 有什么作用?extern C 有什么作用?
C++ 基础面试题, C++ 中 extern 有什么作用?extern C 有什么作用?
QA
Step 1
Q:: C++
中 extern 有什么作用?
A:: 在 C++ 中,extern 关键字用于声明一个变量或函数的存在,而不定义它。通常用在多文件项目中,使得多个文件可以访问同一个变量或函数。使用 extern 可以避免重复定义,确保项目在链接时能够正确解析符号。例如,在一个文件中定义了一个全局变量 int x; 在另一个文件中使用 extern int x;
声明该变量,这样这两个文件都可以访问同一个变量 x。
Step 2
Q:: extern "C"
有什么作用?
A:: extern "C" 用于指示编译器按照 C 语言的方式对函数进行编译,而不是按照 C++ 的方式。主要目的是为了实现 C++ 和 C 之间的互操作性。当 C++ 程序需要调用 C 函数库中的函数时,可以使用 extern "C" 来避免 C++ 对函数名的改编(mangling),从而保证 C++ 代码能够正确链接并调用 C 语言编写的函数。例如:extern "C" void my_c_function(); 这表示 my_c_function 这个函数是用 C 编译器编译的,不应当进行 C++
的名字改编。
用途
这些问题的面试意图是评估候选人对 C`++ 编译、链接过程以及跨语言互操作性的理解。在实际生产环境中,开发人员经常需要将 C++` 代码与 C 库或者其他语言的代码进行集成,确保在链接阶段不会因为名字改编问题导致链接错误。此外,在多文件的大型项目中,理解 extern 的使用至关重要,可以避免重复定义和不必要的符号冲突。这些知识对构建高效且稳定的系统至关重要。\n相关问题
🦆
C++ 中 static 关键字的作用是什么?▷
🦆
C++ 中如何避免符号重复定义?▷
🦆
什么是名字改编Name Mangling?▷
🦆
在多文件项目中如何正确管理全局变量?▷