首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++与C变量或函数的混同调用

2013-01-07 
C++与C变量或函数的混合调用第一部分:C调用C变量或函数如果我想在C文件中实现某些功能,在CPP文件实现对这

C++与C变量或函数的混合调用

第一部分:C++调用C变量或函数

如果我想在C文件中实现某些功能,在CPP文件实现对这些功能的调用,我该如何做呢?

先将程序贴出来,然后在分析:

g++ -c -I. inct.cpp

此编译将会输出:inct.o

执行过程分析:g++编译时,预先定义__cplusplus这个宏,所以extern "C"有效,inct.h被作为一般的C++程序编译成功,但是编译后的变量和函数可以在C或C++程序中使用。


2、将test.c用C编译器编译:

gcc -c -I. test.c

输出 test.o

gcc中没定义__cplusplus,所以,test.c中对inct.h中所有功能引用都没添加了extern “C”,这样一来,C语言程序正常引用这些函数或变量。

特别注意 extern "C"是C++中才有的,在C中只有extern,用在变量前,表示变量的声明,不表示变量的定义。


3、将所有编译中间结果链接起来

g++ test.o inct.o -o test
或者

gcc test.o inct.o -o test -lstdc++ 

这下还有问题么?

热点排行