基础c语言代码图片,C语言代码组织基础

C语言使用静态库或者是动态库的形式组织每个人写的代码文件

静态库的文件为.o结尾的文件

有min.c max.c t1.c 三个文件

max.c

int max(int num1, int num2) {

if (num1 > num2) {

return num1;

} else {

return num2;

}

}

min.c

int min(int num1, int num2) {

if (num1 < num2) {

return num1;

} else {

return num2;

}

}

t1.c

#include

#include "max.c"

#include "min.c"

int main() {

int a = 100;

int b = 22;

int c = max(a, b);

printf("the max value is %d\n", c);

int d = min(a, b);

printf("the min value is %d\n", d);

}

当t1.c需要使用max.c min.c 文件时可以在头文件直接引入对应的c文件。但是如果max.c和min.c的提供方不想提供源码就可以使用静态库的形式即提供.o文件使用人员。

编译max.o,和min.o文件

gcc -c max.c

gcc -c min.c

在t1.c中使用时就不需要引入max.c和min.c这两个文件了只需要gcc编码时添加既可

gcc min.o max.o t1.c

但是这种方式有一点不好,使用max min两个函数时无法查看函数原型和文档,所以在这里我们可以编写两个.h的头文件

max.h 和 min.h

max.h

int max(int num1, int num2);

min.h

int min(int num1, int num2);

在t1.c中引入 头文件

#include

#include

这样提供方可以提供.o和.h文件供使用者查看和使用。

但是这么做还是有一点不好,因为每次编译时都需要指定gcc max.o min.o两个.o文件 如果静态库一多,多到上千个。那么编译起来将会非常麻烦。所以这里提供一种Makefile 写好编译文件使用make工具对文件进行编译。

Makefile

#this is make file

main.out:max.o min.o t1.c

gcc max.o min.o t1.c -o main.out

max.o:max.c

gcc -c max.c

min.o:min.c

gcc -c min.c

make 内部使用的也是gcc编译 main.out:max.o min.o t1.c main.out 要编译的可执行文件 冒号后的max.o,min.o,t1.c代表要使用到的文件。如果发现没有max.o文件。 则会使用下面的语句 max.o:max.c gcc -c max.c 生成max.o文件 如果max.c 文件有修改或者max.o文件没有,都会执行这一条语句编译出max.o文件.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值