在c++程序中调用被c编译后的函数,为什么要加exten “c”
主要是因为c++语言支持函数重载,而c语言不支持函数重载,函数被c++编译后在库中的名字与c语言不同。
我们假设一个函数的原型为 void Sum(int a,int b),该函数在c编译器编译后在库中的名字为_Sum,而c++编译器则会产生像_foo_int_int之类的名字
c++提供了c连接交换指定符exten “c”来解决名字的匹配问题。
在c++程序中调用被c编译后的函数,为什么要加exten “c”
主要是因为c++语言支持函数重载,而c语言不支持函数重载,函数被c++编译后在库中的名字与c语言不同。
我们假设一个函数的原型为 void Sum(int a,int b),该函数在c编译器编译后在库中的名字为_Sum,而c++编译器则会产生像_foo_int_int之类的名字
c++提供了c连接交换指定符exten “c”来解决名字的匹配问题。