也说说extern "C"
extern 和 extern "C" 区别
(1)extern
学过C/C++(cplusplus/cpp)的人都知道,extern是编程语言中的一种属性,它表征了变量、函数等类型的作用域(可见性)属性,是编程语言中的关键字。当进行编译时,该关键字告诉编译器它所声明的函数和变量等可以在本模块或者文件以及其他模块或文件中使用。通常,程序员都只是在“*h”(头文件)使用该关键字以限定变量或函数等类型的属性,然后在其他模块或本模块中使用,如:
/*file1.h*//*file2.c 其他文件调用该变量*/
#include "foo.h"#include <stdio.h>int main(){printf("Hello %d\n", foo(1, 2));return 0;}
g++ -c test.cpp
g++ test.o foo.o -o test
# ./test
Hello 3