Cplusplus建立一个头文件怎么建立,文件里要不要写东西,还是在.cpp文件里写头文件怎么建立里的内容?

在项目中融合C和C++有时是不可避免嘚在调用对方的功能函数的时候,或许会出现这样那样的问题
近来在主程序是C语言,而调用C++功能函数的时候C++的*.h头文件怎么建立都能找到,功能函数也都定义了最重要的是,单独编译C++的时候完全没有问题但当用主程序的C调用C++的功能函数时总是提示该函数未定义(undefined)。这是什么问题如何解决?

关键点在这里:我们就靠在C++的*.h和*.cpp的头尾加入下面代码才得以解决问题

 其中 __cplusplus是cpp中的自定义宏。上面的代码的含义是:如果这是一段cpp的代码那么加入extern "C"{和}处理其中的代码要明白为何使用extern "C"还得从cpp中对函数的重载处理开始说起。在c++中为了支持重载機制,在编译生成的汇编码中要对函数的名字进行一些处理,加入比如函数的返回类型等等.而在C中只是简单的函数名字而已,不会加叺其他的信息.也就是说:C++和C对产生的函数名字的处理是不一样的.  加入 extern "C" 声明的目的是解决C与C++的相互调用的问题

}

我要回帖

更多关于 头文件怎么建立 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信