c++和c混合编程--注释

1、CPP调用C函数和C调用CPP函数,Makefile编写思路

先g++ -c或gcc -c将cpp文件或c文件编译成.o文件

然后gcc或g++将.o和c文件或cpp文件编译成bin文件


2、CPP和C函数区别

前者__addii,表示有两个参数,分别为整形,便于多态和重载

后者__add

两者的区别导致连接时会出错


3、CPP调用C函数,Makefile示例

ccpptest:cppfile exe
cppfile:cppExample.cpp
g++ -c cppExample.cpp -o cppExample.o
exe:
gcc cFile.c cppExample.o -lstdc++ -o exe
clean:
rm -f exe
rm -f *.o


4、extern "C"作用

CPP调用C函数:extern "C"在CPP文件中,main函数在CPP文件中,作用是告诉编译器,调用的这个函数是C函数,将其编译成CPP形式的函数

C调用CPP函数:extern “C“也在CPP文件中,main函数在C文件中,作用是告诉编译器,调用的这个函数是CPP函数,将其编译成C形势的函数


5、参考资料

(1)CPP和C编译成的函数名区别

http://blog.csdn.net/david_xtd/article/details/7448313 (C和C++混合编译)

(2)编译c文件出现undefined reference to `__gxx_personality_v0'

http://blog.csdn.net/dycwahaha/article/details/2636382

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值