Chinaunix首页 | 论坛 | 博客
  • 博客访问: 160593
  • 博文数量: 42
  • 博客积分: 996
  • 博客等级: 准尉
  • 技术积分: 705
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-09 19:41
文章分类
文章存档

2012年(42)

我的朋友

分类: C/C++

2012-04-26 13:22:35

一个函数文件要用到另一个函数文件中定义的函数时,可以加extern对该函数进行声明。如果有多个函数文件要用到该函数时这就可能要多次进行声明,重复的代码是需要避免的,因此自己写一个头文件是很有必要的。
    例如:写一个头文件stack.h

注: void push(char c)、char pop(void)、int is_empty(void)的函数定义省略。
 /* stack.h */
# ifndef STACK
# define STACK             /*宏定义名就用头文件名的大写形式,这是规范的做法*/
extern void push(char c);
extern char pop(void);
extern int is_empty(void);
# endif

这样在main函数中只要包含这个头文件就可以了,而不需要写三个函数声明。如:
/* main.c */
# include
# include "stack.h"
int main(void)
{
   ......
}

注意:
stack.h用引号而不用角括号的原因如下:
    对于角括号包含的头文件,gcc首先查找-I选项指定的目录,然后查找系统的头文件目录(通常是/user/include);而对于引号包含的头文件,gcc首先查找包含 .c文件所在的目录,然后查找-I选项指定的目录,然后查找系统的头文件目录。

阅读(1631) | 评论(0) | 转发(0) |
0

上一篇:怎样创建一个静态库

下一篇:C内联汇编

给主人留下些什么吧!~~