Why? 在C++中调用被C编译后的函数,要在声明的前面加extern "C"

在C++程序中调用被C编译器编译后的函数,为什么要在声明的前面加extern "C"?

答:c语言不支持重载,C++支持重载

为了告诉编译器这个函数是C的编译风格,所以在找这个函数的时候也要按照C的风格去找

比如:在C++中写一个add函数

      int add(int n1,  int  n2)

它找到的是?add@@YAHHH@Z

  ?函数名@@YA参数参数返回值@Z

    H代表int  M代表float

@@YA表示开始      @Z表示结束

在C语言中写一个add函数

   int add(int n1,  int  n2)

它找到的是_add


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值