|
<i class="pstatus"> 本帖最后由 f.luo 于 2009-9-19 15:49 编辑 </i>
看书的时候发现个小例子,感觉不错。
分享一下,高手就不用来浪费时间了。
Linux下如何把自己写的函数做成静态编译库。
    这个例子中,我们创建了一个我们自己的小小的库,该库包含两个函数。而在例子中,我们使用了其中一个函数。这两个函数分别为fred和bill,作用为打印问候语。
    首先,为每一个函数各创建一个独立的源程序。建立两个C文件,分别为fred.c和bill.c简单看下面的代码。
第一个:<ol><li> <li>#include <stdio.h><li>void fred(int arg)<li> {<li>         printf(“fred: we passed %d\n”,arg);<li> }</ol><em onclick="copycode($('code_j3k'));">复制代码</em>第二个:<ol><li> <li>#include <stdio.h><li>void bill(char *arg)<li>{<li>      printf(“bill: we passed %s\n", arg);<li>}</ol><em onclick="copycode($('code_MuG'));">复制代码</em>现在可以编译这些函数。使用gcc的-c参数。编译:<ol><li>$ gcc -c bill.c fred.c<li>$ ls *.o<li>bill.o      fred.o</ol><em onclick="copycode($('code_5Md'));">复制代码</em>头文件为了便于以后调用,编写个头文件,文件名为lib.h:<ol><li>/*<li>This is lib.h. It declares the functions fred and bill for users<li>*/<li>void bill(char *);<li>void fred(int);</ol><em onclick="copycode($('code_O0s'));">复制代码</em>
好了,可以写主程序了.主程序调用函数bill()。<ol><li>#include <stdlib.h><li>#include “lib.h”<li>int main()<li>{<li>    bill(Hello World);<li>    exit(0);<li>}</ol><em onclick="copycode($('code_uz6'));">复制代码</em>用到的文件都完成了,下面主要是编译。 |
|