c++ 代码# extern
时间: 2023-07-26 11:23:31 浏览: 50
在 C++ 中,`extern` 是一个关键字,用于声明一个外部变量或函数。它的作用是告诉编译器该变量或函数在其他文件中定义。
- 对于变量,`extern` 声明的变量通常在其他文件中定义,并且可以在本文件中使用。
```
extern int x; // 声明 x 是一个在其他文件中定义的整型变量
```
- 对于函数,`extern` 声明的函数通常在其他文件中定义,并且可以在本文件中调用。
```
extern void foo(); // 声明 foo 是一个在其他文件中定义的函数
```
`extern` 通常用于多个文件共享同一变量或函数的情况。当一个变量或函数在多个文件中被使用时,需要在一个文件中定义它,在其他文件中使用 `extern` 声明它。
在 C++ 中,全局变量和函数默认情况下都是外部链接的,因此通常不需要使用 `extern` 声明。但是,如果你想显式地声明一个外部变量或函数,可以使用 `extern` 关键字。
相关问题
c++中extern
extern "C"的作用是用于C和C++混合编程时,告诉编译器某个函数是按照C的链接规则进行编译和链接的。在C++中,函数名会经过名称修饰(name mangling)以支持函数重载,而C语言没有函数重载的概念,因此如果想在C++中调用C语言编写的函数,需要用extern "C"来告诉编译器按照C的链接规则处理该函数。
下面是使用extern "C"的一个例子:
// C代码
#ifdef __cplusplus
extern "C" {
#endif
int add(int a, int b);
#ifdef __cplusplus
}
#endif
// C++代码
#include <iostream>
extern "C" {
#include "mylib.h"
}
int main() {
int result = add(3, 4);
std::cout << "Result: " << result << std::endl;
return 0;
}
c++ extern
引用中的代码展示了C++中使用extern关键字的示例,它指示存在于其他文件中的外部变量和函数。在这个例子中,extern关键字被用来声明extern_variable_blog_addr和extern_variable_github_addr两个字符串变量,以及extern_function_add和extern_function_name两个函数。这意味着这些变量和函数在其他文件中有定义,并且可以在当前文件中使用。
在代码中出现的extern "C"是一个指示符号名称的语法,它用于编译C代码和C++代码混合的情况。它告诉编译器按照C的规则来处理函数和变量的命名和调用约定。这在调用C库时可能非常有用。
总结来说,关键字extern用于声明外部变量和函数,它们的定义在其他文件中。而extern "C"则用于在C++代码中调用C代码。