您的位置:首页 > 编程语言 > C语言/C++

C语言模块化开发(多文件编程)

2017-09-16 09:25 435 查看
1.main.c是程序的主模块,module.c是程序的一个模块,main中使用extern int m来声明变量,定义在module中,说明module中定义的全局变量的作用域是整个程序。

2.假如要使用printf函数的话就添加头文件stdio.h,头文件里面都是函数的声明,定义在系统库中。

3.函数的声明有无extern都行,变量的声明必须加上extern,否则编译器无法识别声明。

4.源代码和头代码.c/.h-(预处理)-无宏文件.i-(编译)-汇编代码.asm-(汇编)-机器指令.obj-(链接)-可执行文件.exe,预处理是处理#等,编译是得到汇编代码,汇编是把汇编代码转成机器指令,链接是把机器指令和一些库文件生成可执行文件。

5.目标文件是被编译过的多个二进制文件,每个目标文件都包含多个块,如文件头、程序头表、代码段和注释信息等,可执行文件就是将多个目标文件的各个块按类叠加存放。

6.刚开始的程序员用机器语言地址来编程,假如要修改一个东西的话,地址的值就要重新修改,后来发明链接器器代替人工计算数据地址,发明汇编器用助记符代替地址(汇编语言),后来发明编译器来将C语言转成汇编代码。

7.链接就是确定函数和全局变量的地址,并对每一个重定位入口进行修正。

8.声明全部放在module.h中,定义全部放在module.c中,要使用的话就可以#include “module.h”,定义会自己找到。

9.#include <stdio.h>,#include "myfile.h",双引号先在工程目录里寻找,再去系统目录里寻找。

10.用一个宏来解决头文件多次包含的问题。

11.static第一个作用是隐藏,全局变量和函数的作用范围限制在当前模块,第二个是赋值语句执行一次之后就不会再执行了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 模块化
相关文章推荐