c与c++调用有何区别?请大家帮忙给看看。

tiejun 2002-12-20 02:11:56
Linux平台:

下载了gsm语音压缩
(ftp://ftp.cs.tu-berlin.de/pub/local/kbs/tubmik/gsm/gsm-1.0.10.tar.gz)的源代码,在c(*.c gcc)程序中可用调用,但在c++(*.cpp g++)程序中不能用,能编译但不能链接,是不是c与c++调用的问题?
gsm源码是用c写的,是否修改一下gsm的头文件就可以在c++中用了?
...全文
57 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tiejun 2002-12-20
  • 打赏
  • 举报
回复
非常感谢大家!!!!!!
问题已经解决了。
bjay 2002-12-20
  • 打赏
  • 举报
回复
都说了。挺详细的。
windcsn 2002-12-20
  • 打赏
  • 举报
回复
你的程序应该这么写:
包含在任何你想要在C++编译的地方,一般在头文件中就可以了
#ifdef __cplusplus
extern "C"
{
#endif
你的程序
#ifdef __cplusplus
}
#endif
NOldkiller 2002-12-20
  • 打赏
  • 举报
回复
为了支持C++的各种特性,C++编译器在编译C++源程序时,会为每个函数生成一
个独一无二的函数,不同的编译器下有不同的处理方法,但一般都会根据函数名,
参数类型,参数个数生成此函数名,而在C下面对函数名会不作任何处理,当在C++中调用C函数时,C++会按C++的规则去调用C函数,而事实上不存在C++所解析出来的函数名,于是为了可以C函数,则用extern "C".
winco 2002-12-20
  • 打赏
  • 举报
回复
extern "c"
{
}

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧