免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2448 | 回复: 6
打印 上一主题 下一主题

如何使用动态编译? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-12-08 16:18 |只看该作者 |倒序浏览
在系统中加了一个SSL的库,但是编译的时候老是吧整个库都编译到程序里面去,怎么才不把库编译到程序里去?
SSL会生成两个.a文件,在编译程序时一定要用-L../..指定这两个文件的位置,否则连接时不能通过,如何才能做到执行该程序时程序自动去在/lib下查找这两个库?

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

如何使用动态编译?

设置LD_LIBRARY_PATH变量值

论坛徽章:
0
3 [报告]
发表于 2003-12-08 16:53 |只看该作者

如何使用动态编译?

.a是静态库文件,你只能在编译时连接.
如果想让程序在执行时动态连接,你需要动态连接库文件,并且你的程序得做相应修改

论坛徽章:
0
4 [报告]
发表于 2003-12-08 20:06 |只看该作者

如何使用动态编译?

谢谢各位,我想到怎么做了 。

论坛徽章:
0
5 [报告]
发表于 2003-12-11 11:39 |只看该作者

如何使用动态编译?

原帖由 "xa_butterfly" 发表:
.a是静态库文件,你只能在编译时连接.
如果想让程序在执行时动态连接,你需要动态连接库文件,并且你的程序得做相应修改

希望能够具体说明以下如何做到动态连接, 我对这方面涉及不足

论坛徽章:
0
6 [报告]
发表于 2003-12-11 21:28 |只看该作者

如何使用动态编译?

使用动态库有两种方式,一种是编译时链接动态库中的符号,一种是运行时动态打开库中的函数。
第一种方式:
在sco下面,编译动态库时用-dy -G选项。编译可执行目标文件时也加上述选项,并且把.so库也链接进来。这样不用修改程序。
第二种方式:
在程序中不直接使用.so中的函数,而是使用dlopen和dlclose。链接时也不用链接.so库

论坛徽章:
0
7 [报告]
发表于 2003-12-11 23:15 |只看该作者

如何使用动态编译?

可以把部分程序做成DLL文件,当需要的时候,再编译载入到内存中去 :-)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP