extern "c "
时间: 2024-08-15 19:08:19 浏览: 31
extern "c" 是C++语言中的一种特性,它用于指定链接外部函数或变量时采用C语言的链接模式。在C++中,标准库的一些函数是用C语言写的,比如数学运算函数(如sin、cos等)。当你需要在C++程序中直接引用这些C语言风格的函数时,就需要加上 extern "c"。这样做的目的是让编译器在链接阶段按照C的规则处理这些函数,避免名字 mangling(名称改写),保持函数名的一致性。
例如:
```cpp
extern "c" {
#include <math.h>
}
double result = sin(x);
```
在这里,`#include <math.h>`会引入C语言的 math 函数库,然后`sin(x)`可以直接调用,不会被C++的命名约定改变。
相关问题
extern C语言
extern 是 C 语言中的一个关键字,用于声明一个函数或变量是在其他文件中定义的。它可以用来在一个源文件中引用另一个源文件中定义的函数或变量。
当在一个源文件中使用 extern 关键字声明一个函数时,意味着该函数是在另一个源文件中定义的,编译器会在链接阶段将其与实际定义连接起来。
例如,在一个源文件 A.c 中使用 extern 声明一个函数 foo():
extern void foo(); // 函数 foo() 在其他地方定义
然后在另一个源文件 B.c 中定义该函数:
void foo() {
// 函数定义
}
这样,编译器会在链接阶段将 A.c 和 B.c 中的代码连接起来,使得 A.c 中对 foo() 函数的调用能正确执行。
extern c语言
`extern` 是C语言中的一个关键字,它的主要作用是指示编译器该变量或函数的定义在别的地方,而不是在这里。使用`extern`关键字可以使得变量或函数对其他文件可见,从而实现跨文件的引用。
在C语言中,`extern`关键字主要有以下两种用途:
1. **声明全局变量**:当在多个文件中需要共享同一个变量时,可以在一个文件中定义该变量(不使用`extern`关键字),而在其他文件中声明该变量(使用`extern`关键字)。这样可以确保所有文件访问的是同一个内存地址中的变量。
2. **声明函数**:当你在一个文件中定义了一个函数,而在另一个文件中需要调用这个函数时,你应该在调用函数的文件中使用`extern`关键字来声明这个函数。这样做是为了告诉编译器该函数在别的地方已经定义了,这里只是提供了一个声明。
`extern`常与`const`关键字一起使用,表明变量是常量。例如,`extern const int`声明了一个外部的常量。
需要注意的是,`extern`只是声明,并不分配内存空间。真正的内存分配是在变量或函数定义时发生的。