C与CPP文件的区别
2013-07-11 18:21
183 查看
C与CPP文件的区别
在编译源文件时,C编译器和C++编译器都会对符号(函数或变量)名作某些修正,但两者采用的修正方法不同,所以两者生成的目标文件不能互相链接。在C++中使用extern "C"可以让C++符号获得C链接特性。由于C++编译器会自动定义__cplusplus宏,所以在C语言头文件中采用这种结构可以保证无论使用何种编译器,生成的目标文件都具有C链接特性,能够与标准C编译器所生成的目标文件相链接。通常c/c++编译器会根据文件后缀来选择符号修正,所以最好把c的代码放到.c文件中,把c++的代码放到.cpp文件中。
我用VC++6.0创建动态库,做了以下试验。
在test.cpp中输出c函数,如下:
1、新建Win32 Dynamic-Link Library
2、输出函数
extern "C" _declspec(dllexport) void test();
void test()
{
}
而在test.c中输出c函数,就可以这样,如下:
1、新建Win32 Dynamic-Link Library
2、输出函数
_declspec(dllexport) void test();
void test()
{
}
相关文章推荐
- C与CPP后缀的文件在编译时的区别
- .h和.cpp文件的区别
- .h和.cpp文件的区别(zt)
- C与CPP文件的区别
- .h和.cpp文件的区别(zt)
- .C和.CPP后缀文件的编译区别
- c++中的头文件(.h)和实现文件(.cpp)区别
- (原).cc 和 .cpp 后缀结尾的文件的区别
- .c和.cpp文件的区别
- cpp文件和h文件的区别
- C与CPP文件的区别
- .h和.cpp文件的区别
- cpp文件和h文件的区别
- 【转】C与CPP后缀的文件在编译时的区别
- .c与.cpp文件的一点区别
- .h和.cpp文件的区别
- .h和.cpp文件的区别 .
- .h和.cpp文件的区别
- h和.cpp文件的区别
- c++源文件 不同后缀(.cc .cpp .C .cp)的区别