extern
extern
王永旺extern
关键词的运用
概述
extern
关键字在C和C++语言中主要用于声明变量或函数是在其他文件或本文件的其他位置定义的。这允许程序的不同部分共享变量和函数的定义。
在C语言中的运用
声明全局变量
当你在一个源文件中定义了一个全局变量,并希望在另一个源文件中访问它时,你需要在那个源文件中使用 extern
关键字来声明这个变量。
globals.c
1 | // 定义全局变量 |
main.c
1 |
|
声明函数
虽然对于函数来说,extern
关键字不是必需的(因为函数默认就是全局的,并且默认就是 extern
的),但它仍然可以用来显式地声明一个函数是在其他地方定义的。
functions.h
1 | // 声明函数 |
functions.c
1 |
|
main.c(使用函数)
1 |
|
在C++中的运用
声明全局变量
C++中全局变量的声明方式与C相同。
声明函数
C++中函数的声明方式与C也类似,但extern
的使用更加侧重于与C语言的互操作性。
与C语言代码的互操作性
当C++代码需要调用C语言编写的函数时,为了防止C++的名称修饰(Name Mangling)机制影响链接,可以使用 extern "C"
。
c_functions.h
1 |
|
main.cpp
1 |
|
请注意,在实际使用中,extern "C"
通常放在头文件中,以便在C++和C的源文件中都能正确地处理链接。上面的 c_functions.h
头文件展示了如何在C和C++之间共享函数声明的典型做法。在C++源文件中,通常不需要再次使用 extern "C"
来声明已经在头文件中用 extern "C"
包裹的函数,除非有特殊情况。
评论
匿名评论隐私政策
TwikooWaline
✅ 你无需删除空行,直接评论以获取最佳展示效果