__cplusplus

本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie


c++中定义了__cplusplus,C语言中没有该定义。所以可以用__cplusplus区别调用者程序是c语言程序还是c++语言写成的程序

示例:

#include <stdio.h>

int main()
{

#ifdef __cplusplus
	printf("This is a c ++ program!\n");
#else
	printf("This is a c program!");
#endif
}

如果用gcc编译的话,输出为:

This is a c program!

如果用g++编译的话,输出为

This is a c++ program!

示例2:根据不同语言的调用者引用不同的库文件(以下代码摘自memory.h 

if !defined(__cplusplus)
  include <mem.h>
else /* __cplusplus */
  if !defined(__USING_STD_NAMES__)
   include <mem.h>
  else /* __USING_STD_NAMES__ */
    include <memory.stl>
  endif /* __USING_STD_NAMES__ */
endif /* __cplusplus */



参考:http://blog.163.com/hbu_lijian/blog/static/1261291532012102582121528/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值