免费注册 查看新帖 |

Chinaunix

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

动态库:gcc-L-l和gcc绝对路径的问题求助 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2010-05-21 09:14 |只看该作者
前者生成exe时已经链接进去了。。。叫静态链接吧
后者程序启动时加载so。LD_LIBRARY_PATH容易忘记, ...
duanjigang 发表于 2010-05-20 11:19


谢谢大大,看了下,似懂非懂,算是了解个大概了

论坛徽章:
0
12 [报告]
发表于 2010-05-21 09:18 |只看该作者
前者生成exe时已经链接进去了。。。叫静态链接吧
后者程序启动时加载so。LD_LIBRARY_PATH容易忘记, ...
duanjigang 发表于 2010-05-20 11:19



    楼主那两种都是静态链的吧

论坛徽章:
0
13 [报告]
发表于 2010-05-21 10:05 |只看该作者
回复 11# ljwilliam


    那不叫静态链接,两种都是动态链接,不要被误导哦。-static是用来静态链接的,

论坛徽章:
0
14 [报告]
发表于 2010-05-21 10:05 |只看该作者
回复 12# starT_T

版主说的应该是对的
虽然后面的两种动态库的使用我还不是很明白

论坛徽章:
0
15 [报告]
发表于 2010-05-21 10:08 |只看该作者
回复 13# liying_gg

我有点迷茫了。。。。
那么到底有什么呢。。。。静态的和动态,以及我写的那两个

论坛徽章:
0
16 [报告]
发表于 2010-05-21 10:10 |只看该作者
本帖最后由 liying_gg 于 2010-05-21 10:12 编辑

回复 15# ljwilliam


    用了.so的都是动态链接,静态链接是直接把相应的函数放到你的exe中,不需要运行时加载,你这两种情况都是运行时加载的,可以ldd看一下。如果是静态链接的话,删掉你的那个so文件一样可以运行,你不信删一下你那个,肯定就不能运行了

论坛徽章:
0
17 [报告]
发表于 2010-05-21 10:15 |只看该作者
回复 16# liying_gg

删除的确是不能用了
那么就是说我写的两种动态链接是有不同的运作机制的,可以这么理解吧?

论坛徽章:
0
18 [报告]
发表于 2010-05-21 10:34 |只看该作者
回复 17# ljwilliam


    运行起来都是一样的,就是路径信息有没有写到你的可执行文件而已。

论坛徽章:
0
19 [报告]
发表于 2010-05-21 10:52 |只看该作者
回复  liying_gg

删除的确是不能用了
那么就是说我写的两种动态链接是有不同的运作机制的,可以这么理 ...
ljwilliam 发表于 2010-05-21 10:15



    说的很复杂哦
   作为新手的我看晕了
   反正.so就是动态链接库      
   对动态链接库的操作 应该有静态加载 和 动态加载吧?

论坛徽章:
0
20 [报告]
发表于 2010-05-21 11:08 |只看该作者
回复 18# liying_gg

顺着你的思路,看了看,的确是没写进去,又长见识了,感谢
现在倒是那个静态库有点迷茫了。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP