16-C语言模块化编程(多文件编程)
2014-10-01 22:26
357 查看
1、模块化编程概念
所谓模块化编程,就是多文件(.c文件)编程,一个 .c 文件和一个 .h 文件可以被称为一个模块。
如果你学习C语言很久了,还只会在一个 .c 文件里写代码,那么今天将会让你突破,带你了解多文件编程,教你学会如果有效的组织各个文件,如何将各个文件联系起来。
在以下场景中会使用头文件:
(1) 通过头文件来调用库功能。
在很多场合,源代码不便(或不准)向用户公布,只要向用户提供头文件和二进制的库即可。用户只需要按照头文件中的接口声明来调用库功 能,而不必关心接口怎么实现的。
(2) 多文件编译。
将稍大的项目分成几个文件实现,通过头文件将其他文件的函数声明引入到当前文件。
(3) 头文件能加强类型安全检查。
如果某个接口被实现或被使用时,其方式与头文件中的声明不一致,编译器就会指出错误,这一简单的 规则能大大减轻程序员调试、改错的负担。
2、多文件开发
3、多文件开发的注意事项
关于头文件的内容,初学者还必须注意:
1)头文件中可以和C程序一样引用其它头文件,可以写预处理块,但不要写具体的语句。
2)可以声明函数,但不可以定义函数。
3)可以声明常量,但不可以定义变量。
4)可以“定义”一个宏函数。注意:宏函数很象函数,但却不是函数。其实还是一个申明。
5)结构的定义、自定义数据类型一般也放在头文件中。
6)多文件编程时,只能有一个文件包含 main() 函数,因为一个工程只能有一个入口函数。我们把包含 main() 函数的文件称为主文件。
7)为了更好的组织各个文件,一般情况下一个 .c 文件对应一个 .h 文件,并且文件名要相同,例如 fun.c 和 fun.h。
8)头文件要遵守幂等性原则,即可以多次包含相同的头文件,但效果与只包含一次相同。
9)防止重复包含的措施
#ifndef MY_INCLUDE_H #define MY_INCLUDE_H //头文件内容
#endif
所谓模块化编程,就是多文件(.c文件)编程,一个 .c 文件和一个 .h 文件可以被称为一个模块。
如果你学习C语言很久了,还只会在一个 .c 文件里写代码,那么今天将会让你突破,带你了解多文件编程,教你学会如果有效的组织各个文件,如何将各个文件联系起来。
在以下场景中会使用头文件:
(1) 通过头文件来调用库功能。
在很多场合,源代码不便(或不准)向用户公布,只要向用户提供头文件和二进制的库即可。用户只需要按照头文件中的接口声明来调用库功 能,而不必关心接口怎么实现的。
(2) 多文件编译。
将稍大的项目分成几个文件实现,通过头文件将其他文件的函数声明引入到当前文件。
(3) 头文件能加强类型安全检查。
如果某个接口被实现或被使用时,其方式与头文件中的声明不一致,编译器就会指出错误,这一简单的 规则能大大减轻程序员调试、改错的负担。
2、多文件开发
3、多文件开发的注意事项
关于头文件的内容,初学者还必须注意:
1)头文件中可以和C程序一样引用其它头文件,可以写预处理块,但不要写具体的语句。
2)可以声明函数,但不可以定义函数。
3)可以声明常量,但不可以定义变量。
4)可以“定义”一个宏函数。注意:宏函数很象函数,但却不是函数。其实还是一个申明。
5)结构的定义、自定义数据类型一般也放在头文件中。
6)多文件编程时,只能有一个文件包含 main() 函数,因为一个工程只能有一个入口函数。我们把包含 main() 函数的文件称为主文件。
7)为了更好的组织各个文件,一般情况下一个 .c 文件对应一个 .h 文件,并且文件名要相同,例如 fun.c 和 fun.h。
8)头文件要遵守幂等性原则,即可以多次包含相同的头文件,但效果与只包含一次相同。
9)防止重复包含的措施
#ifndef MY_INCLUDE_H #define MY_INCLUDE_H //头文件内容
#endif
相关文章推荐
- keil 中——C语言模块化编程时全局变量、结构体的定义、声明以及头文件包含的处理方法
- C语言(7) 模块化编程及多文件开发注意事项
- 详解keil采用C语言模块化编程时全局变量、结构体的定义、声明以及头文件包含的处理方法!
- C语言模块化开发(多文件编程)
- 详解keil采用C语言模块化编程时全局变量、结构体的定义、声明以及头文件包含的处理方法
- 详解keil采用C语言模块化编程时全局变量、结构体的定义、声明以及头文件包含的处理方法!
- 嵌入式C语言之---模块化编程(转)
- Linux下So文件的加载(C语言编程)
- 菜鸟攻略——C语言多文件编程初探(一)
- linux编程(C语言读取配置文件)
- C语言模块化中头文件.h的设计
- 02 vim 配置文件的简单修改方法(满足C语言编程需求)
- UNIX-LINUX C语言编程->实验室->多次打开文件实验
- 文件模块C语言模块化要点
- C语言ADT(抽象数据类型编程) (含Demo演示文件)
- Linux Unicode 编程--C语言如何使用/生成UTF-8编码格式的文件
- c语言编程之文件监视器
- Linux Unicode 编程--C语言如何使用/生成UTF-8编码格式的文件
- Unix下C语言----目录文件编程
- C语言学习之模块化编程