Chinaunix首页 | 论坛 | 博客
  • 博客访问: 370801
  • 博文数量: 50
  • 博客积分: 1495
  • 博客等级: 上尉
  • 技术积分: 805
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-21 14:19
文章分类

全部博文(50)

文章存档

2011年(47)

2010年(3)

分类: LINUX

2011-03-31 19:48:34

001_基础知识(续:如何建立静态库和动态库)

什么是库?
本质上说库是一种可执行代码的二进制形式,可以被操作系统载入内存运行。

Linux下的库有两种:静态库和共享库(动态库)

静态库的建立:

首先写简单的函数(func.c):

  1.   1 #include <stdio.h>
  2.   2
  3.   3 int str_print(char *str)
  4.   4 {
  5.   5 printf("%s\n", str);
  6.   6 return 0;
  7.   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

执行结果:

动态库的建立,不再多说:
  1. gcc -fPIC -Wall -c func.c
  2. gcc -shared -fPIC -o libfunc.so func.o



水平有限,如果有错误的地方,请指正,thanks

cjok.liao@gmail.com




阅读(1737) | 评论(1) | 转发(0) |
0

上一篇:001_基础知识

下一篇:局部变量问题

给主人留下些什么吧!~~

yuweixian42302011-04-02 08:39:31


路过,留下脚印