C++调用C
来源:互联网 发布:淘宝联盟怎么提现 编辑:程序博客网 时间:2024/05/17 23:46
问题
由于编译器对C++和C的编译方式不一致.导致如果在C++中调用C函数,会出现undefined reference function().这个就是C函数不能被编译器正常编译生成.o,导致在链接的时候找不到function这个函数.
解决方法
声明和定义function()时在其前面加上extern “C”.由于function也有可能被C调用,所以应该在extern “C”之前加上#ifdef __cplusplus.否则C调用时会报错.
代码
#ifdef __cplusplusextern "C" {#endif void function(){}#ifdef __cplusplus}#endif
对 void function();的声明也需要使用使用上面同样的方法
0 0
- 标准调用 C调用
- C和C++混编,c调用C++,c++调用C
- C和C++混编,c调用C++,c++调用C
- C和C++混编,c调用C++,c++调用C
- C入门:C调用DLL
- C#调用C、C++dll
- extern c , c++ 调用c
- c++/c内部调用TCL
- extern "C" C 调用c++
- C/C++/C# 调用C/C++ Dll
- C/C++(4)C调用C++方法
- C 调用C++ 与C++调用C
- c++调用c和c调用c++
- Pascal调用与C调用
- 汇编程序调用c程序
- C++: 静态调用
- winform(C#)调用dll
- java调用C语言
- ActiveMQ-消息存储
- ios开发中经典应用高仿项目分享<一>
- 经典文章集合
- 网络安全实验室基础关 writeup
- KMP算法
- C++调用C
- 7.1定义抽象数据类型
- mysql 存储过程
- Choose a journaling file system
- c工程开发需要什么
- SQL Server 2008报错:无法连接到(local)本地服务器的解决方案
- LeetCode题解(二)
- 顺序表及相关操作
- 关于handler机制(结合源码及方法的调用去总结)