qfedu-c-level/day8/homework/h2/README.md

25 lines
1.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 题目要求: 创建 a.h、a.c,、b.h、b.c 四个文件,在 a 文件中创建求阶乘函数并实现,在 b 文件中创建数组的排序函数并实现,要求将 a,b 编译成静态库文件。并编写 test.c 文件,引入 a 和 b 两个文件的功能并编译运行。
> 1. `libs` 中包含使用 `tempfiles` 文件夹中的源代码生成的静态库
> 2. `includes` 中包含 `test*.c` 需要用到的头文件
### 生成静态库
```bash
# 汇编源文件: a.s 生成目标文件 a.o
gcc -c a.c -o a.o
# 使用上一步生成的目标文件 a.o 生成静态库 liba.a
ar rc liba.a a.o
```
### 编译时指定头文件可以使用
```bash
# 编译时指定头文件和静态库的位置,生成可执行文件 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
```