码迷,mamicode.com
首页 > 编程语言 > 详细

C语言 之建立静态链接库

时间:2016-08-16 22:15:51      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:c语言

下面说一下建立静态链接库的方法

各个C语言编程软件都有它的方法,比如建立一个工程来共享文件,这就比较容易和简单了,现在我们选择使用难一点的linux系统,探究在linux系统下的建立静态链接库的方法。

首先,在linux系统我们在一个文件夹目录里面来建立一个 .h 头文件和一个 .c 文件,(比如我建立tiaoshen.c 和 mmc.h)然后打开它们。

在 .c 头文件里面我们写上自己创作的函数,比如下面我的例子:

int add(int a,int b)

{

return a+b;

}

int sub(int a,int b)

{

return a-b;

}

int mut(int a,int b)

{

return a*b;

}

int div(int a,int b)

{

return a/b;

}

之后我们在头文件中声明这些函数

int add(int a,int b);

int sub(int a,int b);

int mut(int a,int b);

int div(int a,int b);

然后我们开始编译,为了方便,建立一个makefile管理文档,在里面写入:

all:

gcc tiaoshen.c -o tiaoshen.o -c

ar -rc libtiaoshen.a tiaoshen.o

(注意makefile使用的基本规则和使用方法,这里不赘述)

解释一下这两句话: -o后面表示生成的文件的名字, -c表示只编译,不链接,这样你的主函数写完引用它的时候才把它链接到你的程序中。

ar是打包工具,一个程序。 -rc libtiaoshen.a tiaoshen.o表示用tiaoshen.o创建libtiaoshen.a这个打包文件。

然后开始正式使用。

  在某处创建一个.c文件,比如 xu.c 然后打开,写入程序,引用你编写的函数,比如:

#include<stdio.h>

int main(void)

{

int a ,b ;

a=4;

b=7;

printf("4 * 7 = %d\n",mut(a,b));

}

然后保存,编译。

你可以先在存链接库文件的目录下使用 nm libtiaoshen.a 来查看里面的函数。

编译方法:-lxxx -L链接库目录

gcc xu.c -o shen -ltiaoshen -L. 

-ltiaoshen表示引用了tiaoshen库,最后面的-L.表示在当前目录下。

运行,成功!



C语言 之建立静态链接库

标签:c语言

原文地址:http://11962449.blog.51cto.com/11952449/1839311

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!