001_基础知识(续:如何建立静态库和动态库)
什么是库?
本质上说库是一种可执行代码的二进制形式,可以被操作系统载入内存运行。
Linux下的库有两种:静态库和共享库(动态库)
静态库的建立:
–首先写简单的函数(func.c):
- 1 #include <stdio.h>
-
2
-
3 int str_print(char *str)
-
4 {
-
5 printf("%s\n", str);
-
6 return 0;
-
7 }
编译func.c文件,会生成func.o
gcc -c func.c
创建静态库
ar crs libfunc.a func.o
然后写个程序测试一下
1
2
3 int main(void)
4 {
5 str_print("hello CJOK");
6 return 0;
7 }
编译链接
gcc -o print_str print_str.c -L. -lfunc
执行
./print_str
执行结果:
动态库的建立,不再多说:
- gcc -fPIC -Wall -c func.c
-
gcc -shared -fPIC -o libfunc.so func.o
水平有限,如果有错误的地方,请指正,thanks
cjok.liao@gmail.com
阅读(1737) | 评论(1) | 转发(0) |