免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: ann_anny
打印 上一主题 下一主题

关于MAKEFILE的问题,急,在线等 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2003-08-02 20:32 |只看该作者

关于MAKEFILE的问题,急,在线等

你到BSD版看看上面公布的FTP,这个下载好象要口令

论坛徽章:
0
22 [报告]
发表于 2003-08-03 19:22 |只看该作者

关于MAKEFILE的问题,急,在线等

ann_anny告诉我用自己的库时需要指定LD_LIBRARY_PATH环境变量,或者拷到系统默认的目录,否则链接还是通不过。试了一下确实是这样
只用-L可能是不行的 环境变量、-L、-l “一个都不能少” :wink:

论坛徽章:
0
23 [报告]
发表于 2003-08-04 09:21 |只看该作者

关于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]
    表明调用函数苦做乘法运算成功

论坛徽章:
0
24 [报告]
发表于 2003-08-04 12:29 |只看该作者

关于MAKEFILE的问题,急,在线等

注意TAB的使用,
man 嘛,

也可找个例程的makefile

论坛徽章:
0
25 [报告]
发表于 2003-08-04 12:41 |只看该作者

关于MAKEFILE的问题,急,在线等

这个问题已经解决了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP