qfedu-c-level/day8/homework/h2
flykhan ee8b203991 day8 homework: 静态的生成和使用题目练习 2023-07-12 23:35:07 +08:00
..
includes day8 homework: 静态的生成和使用题目练习 2023-07-12 23:35:07 +08:00
libs day8 homework: 静态的生成和使用题目练习 2023-07-12 23:35:07 +08:00
tempfiles day8 homework: 静态的生成和使用题目练习 2023-07-12 23:35:07 +08:00
README.md day8 homework: 静态的生成和使用题目练习 2023-07-12 23:35:07 +08:00
testArrSort.c day8 homework: 静态的生成和使用题目练习 2023-07-12 23:35:07 +08:00
testFactorial.c day8 homework: 静态的生成和使用题目练习 2023-07-12 23:35:07 +08:00

README.md

题目要求: 创建 a.h、a.c,、b.h、b.c 四个文件,在 a 文件中创建求阶乘函数并实现,在 b 文件中创建数组的排序函数并实现,要求将 a,b 编译成静态库文件。并编写 test.c 文件,引入 a 和 b 两个文件的功能并编译运行。

  1. libs 中包含使用 tempfiles 文件夹中的源代码生成的静态库
  2. includes 中包含 test*.c 需要用到的头文件

生成静态库

# 汇编源文件: a.s 生成目标文件 a.o
gcc -c a.c -o a.o

# 使用上一步生成的目标文件 a.o 生成静态库 liba.a
ar rc liba.a a.o

编译时指定头文件可以使用

# 编译时指定头文件和静态库的位置,生成可执行文件 testFactorial-la 表示链接静态库 liba.a
gcc -static testFactorial.c -I ../includes -L ../libs -la -o testFactorial

# 编译时指定头文件和静态库的位置,生成可执行文件 testArrSort-lb 表示链接静态库 libb.a
gcc -static testArrSort.c -L ./libs/ -lb -I ./includes/ -o testArrSort