到今朝为止,我们编写的大局部C言语程序都只包括一个源文件,没有将代码疏散到多个模块中,关于只要几百行的小程序来说这或答应以承受,但关于动辄上万行的大中型程序,将一切代码都集中在一个源文件中几乎是一场灾害,后续浏览和保护都将称为顺手的成绩。
在C言语中,我们可以将一个.c文件称为一个模块(Module);所谓模块化开辟,是指一个程序包括了多个源文件(.c 文件)以及头文件(.h 文件)。
C言语代码要经由编译和链接才干生成可履行程序:
编译是针对单个源文件(.c 文件)的,有若干个源文件就生成若干个目的文件,而且在生成进程中不受其他源文件的影响。也就是说,每一个源文件多是自力编译的。
链接器的感化就是将这些目的文件拼装成一个可履行程序,并为代码(函数)和数据(变量、字符串等)分派好虚拟地址,这和搭积木的进程有点相似。
编译的道理比拟复杂,触及到少量的算法和正则表达式,进修本钱较高,对模块化开辟的协助也不大,所以本专题着墨不多。
进修多文件编程,重点是要了解链接的进程,恰是链接器将多个自力的模块组分解一个可履行文件,在这个进程中,有一些规矩必需恪守,有一些细节要惹起留意。
别的读者还要了解头文件的概念,晓得它的编码标准以及引入方法
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。