C语言模块化开发(多文件编程)
你好,欢迎来到「C语言模块化开发」专题,在这里你将学习到大中型程序开发技术。
本专题由C语言中文网站长执笔,将多年的编程经验灌输其中,典型的实践派,你可以猛击《关于作者》《如何才能完成这部教程》了解教程背后的故事。
到目前为止,我们编写的大部分C语言程序都只包含一个源文件,没有将代码分散到多个模块中,对于只有几百行的小程序来说这或许可以接受,但对于动辄上万行的大中型程序,将所有代码都集中在一个源文件中简直是一场灾难,后续阅读和维护都将称为棘手的问题。
在C语言中,我们可以将一个
C语言代码要经过编译和链接才能生成可执行程序:
编译的原理比较复杂,涉及到大量的算法和正则表达式,学习成本较高,对模块化开发的帮助也不大,所以本专题着墨不多。
学习多文件编程,重点是要理解链接的过程,正是链接器将多个独立的模块组合成一个可执行文件,在这个过程中,有一些规则必须遵守,有一些细节要引起注意。
另外读者还要理解头文件的概念,知道它的编码规范以及引入方式。
如果你学习C语言很久了,还只会在一个源文件里写代码,那么本章将会让你突破,带你了解多文件编程,教你学会如果有效地组织各个文件,并将它们联系起来。
猛击这里开始学习C语言模块化开发>>
本专题由C语言中文网站长执笔,将多年的编程经验灌输其中,典型的实践派,你可以猛击《关于作者》《如何才能完成这部教程》了解教程背后的故事。
到目前为止,我们编写的大部分C语言程序都只包含一个源文件,没有将代码分散到多个模块中,对于只有几百行的小程序来说这或许可以接受,但对于动辄上万行的大中型程序,将所有代码都集中在一个源文件中简直是一场灾难,后续阅读和维护都将称为棘手的问题。
在C语言中,我们可以将一个
.c
文件称为一个模块(Module);所谓模块化开发,是指一个程序包含了多个源文件(.c 文件)以及头文件(.h 文件)。C语言代码要经过编译和链接才能生成可执行程序:
- 编译是针对单个源文件(.c 文件)的,有多少个源文件就生成多少个目标文件,并且在生成过程中不受其他源文件的影响。也就是说,每个源文件都是独立编译的。
- 链接器的作用就是将这些目标文件拼装成一个可执行程序,并为代码(函数)和数据(变量、字符串等)分配好虚拟地址,这和搭积木的过程有点类似。
编译的原理比较复杂,涉及到大量的算法和正则表达式,学习成本较高,对模块化开发的帮助也不大,所以本专题着墨不多。
学习多文件编程,重点是要理解链接的过程,正是链接器将多个独立的模块组合成一个可执行文件,在这个过程中,有一些规则必须遵守,有一些细节要引起注意。
另外读者还要理解头文件的概念,知道它的编码规范以及引入方式。
如果你学习C语言很久了,还只会在一个源文件里写代码,那么本章将会让你突破,带你了解多文件编程,教你学会如果有效地组织各个文件,并将它们联系起来。
猛击这里开始学习C语言模块化开发>>