编译和链接
- fred.c
#include <stdio.h>
void fred(int arg)
{
printf("fred: you passed %d\n", arg);
}
- bill.c
#include <stdio.h>
void bill(char *arg)
{
printf("bill: you passed %s\n", arg);
}
- 编写头文件"lib.h"
void bill(char *);
void fred(int)
- 主文件 "program.c"
#include "lib.h"
int main()
{
fred(10);
bill("I love you!");
return 0;
}
- 编译和链接程序
cc -c bill.c fred.c ->生产bill.o 和 fred.o
cc -c program.c ->生成program.o
cc -o program program.o bill.o fred.o -> 链接 生成program可执行程序
./program ->执行程序
创建和使用库文件
- 创建一个库文件
$ ar crv livfoo.a bill.o fred.o
- 库文件的使用
$ cc -o program program.o livfoo.a
- 使用nm查看函数
nm livfoo.a
动态库文件
.so就是动态库文件,文件相当于windows的DLL
- 查看程序所需要的共享库
ldd program