首页
社区
课程
招聘
[以解决]一个老问题
发表于: 2008-12-21 00:01 3660

[以解决]一个老问题

2008-12-21 00:01
3660
#ifdef __cplusplus的意义很清楚,但是对于这里的写法有一些不理解,就是
能不能不要第三行和第五行?

1 #ifdef __cplusplus
2  extern "C" {       //为什么括号中先有个#endif,最后又有#ifdef __cplusplus???
3 #endif                //第1行和第3行对应,第5行和第7行对应
4 //一段代码        // {}表示这个括号范围内的都和c的函数兼容,没有括号的话,extern c 只修饰后面的一个句子
5 #ifdef __cplusplus
6 }
7 #endif

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 130
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
__cplusplus 当是 c++ 编译下为 defined,下面的 extern "c" 修饰生效,如果是c 代码 include 时 __cplusplus  为 undefine, 所以 忽略3,5行将导致c无法使用你的定义
2008-12-21 01:06
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
哦,是啊,多谢sojoo
2008-12-22 16:06
0
游客
登录 | 注册 方可回帖
返回