当前位置: 技术问答>linux和unix
c与c++调用有何区别?请大家帮忙给看看
来源: 互联网 发布时间:2015-01-13
本文导语: 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...
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++中用了?
下载了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++中用了?
|
那要看你是这么调用的function
c -- function name is fix
c++ -- after compile function name is change in binary(为了重载)
example
function abc
in c binary abc
int c++ binary abc_XXXX
refer to extern "C"
c -- function name is fix
c++ -- after compile function name is change in binary(为了重载)
example
function abc
in c binary abc
int c++ binary abc_XXXX
refer to extern "C"