所谓的C语言多文件编程就是,将代码实现模块化。比如说一个项目的一项功能放在一个一个文件里,然后将实现这个功能的函数放在一个.c文件,在用一个文件将
该.c文件中的所有函数进行声明,这时我们再定义一个主函数main.c文件,这时main.c文件需要哪些函数,我们只需要调用即可。下面来看给具体实例实现过程:
1、创建myfile.h声明函数文件(后面创建文件同样采用vim)
vim myfile.h
2、创建myfile.c函数实现文件
3、创建主函数main.c文件
4、编译myfile.c文件和main.c文件
gcc myfile.c main.c -o main
这时当前文件夹下会编译出一个main文件,然后执行此文件即可,-o表示指定生成文件的文件名
对于c语言而言,不仅可以实现代码编写的模块化,还可以实现,代码编译的模块化。编译的过程有:预处理→编译→汇编→链接,所以我们可以先将逐个代码先编译到汇编步,但不链接,等到所有文件都逐个编译不链接好之后,再对文件进行合并链接即可。
预处理:gcc -E myfile.c -o myfile.i
编译
:gcc -S myfile.i -o myfile.s c文件变成汇编文件
汇编:gcc -c myfile.s -o myfile.o 汇编文件变成二进制文件
链接:gcc myfile.o -o myfile 将函数库中相应的代码组合到目标文件中
具体操作:
1、编译但不链接
gcc -c myfile.c main.c
执行后会产生myfile.o和main.o两个二进制文件。也可以单独,gcc -c myfile.c 然后再gcc -c main.c
2、合并.o文件并链接
gcc myfile.o main.o -o haha