学习目标:
本章主要讲述如何在Linux系统下实现C语言代码的模块化编程和编译。
模块化编程是最常用的一种编程风格,它能够使一个整体项目拆分成多个模块来实现,并将每个模块存储在其它任何.c文件里,主程序.c文件只需调用这些模块就可以还原该项目,也可以被其它任意项目调用。所以模块化编程最大的好处之一就是使得模块利用率高、实现可移植性和灵活性,也便于对某个功能进行配置。实现同样功能的项目,若用模块化编程的方式实现,主程序.c文件的内容将变得简洁,大大提高了代码的可阅读性,所以实现模块化编程是学习编程需要掌握的基本技巧。
在windows系统下,有着大量编写代码的IDE工具,程序员只需要关心代码的编码,剩下的编译、模块化、静态库、动态库编译等IDE工具都自动帮你完成,的确方便很多,但在Linux下,编写代码一般不用到IDE,这就要求我们既要掌握代码,同时也要学会手动编译,由于各种因素,如模块化编程等,编译的方式又有区别,所以各种编译方式都要掌握。
头文件的作用:
- 头文件分为C语言标准库头文件和自定义头文件,格式:****.h
- 树莓派系统默认将C语言标准头文件都放在usr根目录里,如:/usr/include,并且系统配置环境也默认指向这个文件,当文件被编译时,gcc会自动到这个根目录底下找头文件,但是自定义头文件的位置是由你自己决定的,所以在编译时要么将头文件也放入到该根目录下,要么就用#include "****.h"方式指向当前文件下找头文件,或者配置系统变量环境添加上头文件的路径。
- 头文件里的内容是对模块化.c文件功能函数的声明,是模块化文件里的函数被其它.c文件调用的桥梁。
- 无论是c语言标准库头文件还是自定义头文件,作用是一样的,gcc在编译时会首先是进行预编译,gcc会寻找头文件,并将头文件里的函数声明等内容进行编译并且与主程序一起预编译成***.i文件,总的来说就是帮助模块化函数提前在主程序中实现声明。
模块化文件作用:
- 模块化文件分