C语言中的extern与C++中的extern "C"
在C文件中extern关键字可修饰变量或函数
在C++文件中extern "C"用来修饰变量或函数
为什么要用extern与extern "C"关键字???
方便C语言文件与C++文件的方法与变量之间的相互调用,因为C++里面有重载机制,编译时会改变函数名
比如在C文件与CPP文件同上定义一个函数:
int Fun(int x, double y);
C编译后为:_Fun
C++编译后为: Fun_int_double //因为有了这种编译方式,C++可以更具参数的类型,数量,顺序不同实现重载
眼过千遍不如手过一遍,接下来亲自写一小段代码体会一下吧!!
为了简单体会用法,我们就建立一个空的控制台程序自己在逐一添加文件
C++文件调用C文件中函数以及变量
定义Func.h文件写人如下内容:
定义Func.c文件对Func.h声明函数添加函数体,以及定义声明的变量
定义FunCpp.cpp文件来调用C文件的函数与变量
C文件调用C++文件中函数以及变量
同样是三个文件直接上图