Chinaunix首页 | 论坛 | 博客
  • 博客访问: 127755
  • 博文数量: 22
  • 博客积分: 596
  • 博客等级: 二等列兵
  • 技术积分: 874
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-06 12:09
个人简介

Enjoy code,enjoy life!

文章分类
文章存档

2013年(11)

2012年(11)

分类: C/C++

2012-05-18 11:19:23

今天看到一段代码有些费解,如下:
#ifdef __cplusplus
extern "C " {
#endif
…………
…………
#ifdef __cplusplus
}
#endif
网上查了资料了解到#ifdef __cplusplus 就是判断是不是用C++语言写的.__cplusplus标示符用来判断程序是用C还是C++编译程序编译的.当编译C++程序时,这个标示符会被定义,编译C程序时,不会定义.另外__cplusplus是C++默认的宏定义,而__stdc__是C默认的宏定义.
如果整个程序是用C++写的,那么就要包含extern "C" {} 因为在C++里面写C要加上那个说明一下.
 
另外在参考一个程序代码时发现:在一个C文件(*.c)里,定义了一些public/private函数刚到很疑惑,如下:
public void a()
{
.....
}

private int b()
{
...
}
上网查了资料后了解到PUBLIC和PRIVATE在C语言当中其是这样使用的:
/* 函数类型 */
#define PUBLIC /* PUBLIC is the opposite of PRIVATE */
#define PRIVATE static /* PRIVATE x limits the scope of x */

PUBLIC int Demo()
{

}
这样,当你声明PUBLIC的时候,全局都可以用,声明PRIVATE的时候,只能在当前文件里使用,并且把你认为相关的东西,可以作为一个类使用的,放在一个文件里.
阅读(3505) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~