- 论坛徽章:
- 0
|
关于MAKEFILE的问题,急,在线等
关于UNIX shared library的编译的一个简单例子:
源代码:
proc.c 公用函数库源程序
---------------------------------------------
#include <math.h>;
int proc(int a,int b){
int c=0;
c=a+b;
/* c=a*b */
return c;
}
---------------------------------------------
abc.c 调用公用函数库的应用程序
---------------------------------------------
#include <stdio.h>;
int proc(int a,int b);
void main(void)
{
int a=1;
int b=2;
printf("procesing a&b=[%d]\n",proc(a,b));
return;
}
---------------------------------------------
编译SHARED LIBRARY方法:
step 1: cc -Aa -c +z proc.c
step 2: ld -b -o libproc.sl proc.o
编译应用程序方法:
cc abc.c -L/home/debug/temp -lproc
(DEFAULT OUTPUT :a.out,you can change it by cc abc.c -o abc ......)
测试步骤:
1。先调用a.out,运行结果输出如下:
procesing a&b=[3]
表明调用函数库做加法运算成功。
2。改动公用函数库程序proc.c,把c=a+b;改为c=a*b;,重新编译改函数库,而不编译调用函数库的程序abc.c,函数库编译完毕后,再调用a.out,输出结果如下:
procesing a&b=[2]
表明调用函数苦做乘法运算成功 |
|