阅读:5722回复:10
#ifdef __cplusplus是什么意思?
碰到下面的情况:
#ifdef __cplusplus extern "C" { #endif 不知道这是什么意思,请大虾们指点一下。 谢谢! |
|
|
沙发#
发布于:2004-09-11 20:07
Microsoft-Specific Predefined Macros
__cplusplus Defined for C++ programs only. 意思是说,如果是C++程序,就使用 extern "C"{ 而这个东东,是指在下面的函数不使用的C++的名字修饰,而是用C的 The following code shows a header file which can be used by C and C++ client applications: // MyCFuncs.h #ifdef __cplusplus extern "C" { // only need to export C interface if // used by C++ source code #endif __declspec( dllimport ) void MyCFunc(); __declspec( dllimport ) void AnotherCFunc(); #ifdef __cplusplus } #endif |
|
板凳#
发布于:2004-09-12 12:32
arthurtu兄不愧为荣誉会员,回答的简捷明了
|
|
|
地板#
发布于:2004-09-13 08:57
arthurtu兄不愧为荣誉会员,回答的简捷明了 |
|
|
地下室#
发布于:2004-09-14 22:04
太强了,哈哈
|
|
5楼#
发布于:2004-09-15 22:48
使用他则我们在*.c中定义的函数就可以在*.cpp中调用了
|
|
6楼#
发布于:2004-09-17 12:33
怎么不给分?
|
|
|
7楼#
发布于:2004-09-24 11:29
回答完全正确呀
|
|
8楼#
发布于:2004-09-25 11:23
用户被禁言,该主题自动屏蔽! |
|
9楼#
发布于:2004-09-25 14:06
c, c++ 的编译器在对函数名的处理上是不一样的,有时用c++写的程序为了调用c写的库函数,所以要强制c++编译器使用c的函数命名方式。
|
|
10楼#
发布于:2004-10-01 22:22
除了命名方式,还有堆栈的使用方法也不同。
|
|
|