extern "C" 是什么意思
时间: 2023-11-25 10:06:43 浏览: 79
extern "C" 是 C++ 中的一个语法特性,用于声明一个 C 语言风格的函数或变量。
在 C++ 中,默认情况下函数和变量都是使用 C++ 的命名规则和链接规则。而当我们希望在 C++ 中使用一个按照 C 语言的规则定义的函数或变量时,就需要使用 extern "C"。
使用 extern "C" 声明的函数或变量会按照 C 语言的命名规则进行编译和链接,这样可以实现 C 和 C++ 之间的互操作性。这在一些特定的场景下非常有用,比如在 C++ 代码中调用一个由 C 语言编写的库函数。
示例代码:
```cpp
extern "C" {
// 声明一个 C 语言风格的函数
int foo(int arg1, int arg2);
}
// 在 C++ 中调用 C 语言风格的函数
int result = foo(10, 20);
```
这样就可以在 C++ 代码中调用一个按照 C 语言规则定义的函数 foo。
相关问题
extern变量是什么意思
extern 是 C/C++ 中的一个关键字,用于声明一个变量是在其他文件中定义的全局变量或函数。也就是说,它告诉编译器这个变量或函数是在其他文件中定义的,不需要在当前文件中进行定义,只需要在当前文件中进行声明即可。这样可以避免出现重复定义的问题。
例如,我们在一个文件中定义了一个全局变量,如下所示:
```
int globalVariable = 10;
```
如果我们想在另一个文件中使用这个变量,而不是重新定义一个同名的变量,我们可以在另一个文件中使用 extern 关键字进行声明,如下所示:
```
extern int globalVariable;
```
这样编译器就知道 globalVariable 是在其他文件中定义的全局变量,可以在当前文件中使用它了。
extern int 是什么意思
"extern int"表示该变量在其他地方已经定义过了,这里只是声明该变量的存在,以便在本文件中使用该变量。这种声明方式通常用于多个文件共享同一个全局变量的情况。在使用"extern int"声明变量时,不会为该变量分配内存空间,只是告诉编译器该变量的存在,实际的内存分配是在定义该变量的文件中进行的。
举个例子,如果在一个文件中定义了一个全局变量a,另一个文件需要使用该变量,可以使用"extern int a"声明该变量的存在,以便在该文件中使用该变量。
```c
// file1.c
int a = 10;
// file2.c
extern int a;
int b = a + 5;
```
阅读全文