您的位置:首页 > 运维架构 > Linux

那年,一步一步学linux c ---关于动态链接库

2012-02-29 23:25 330 查看

转自:http://blog.csdn.net/muge0913/article/details/7308178

那年,一步一步学linux c ---关于动态链接库

分类:
嵌入式linux c 编程 2012-02-29 23:25
3494人阅读 评论(2)
收藏
举报

linuxclibrarypathgcc

在做完mini6410移植全攻略后,打算把自己的linux c笔记,贴出来和大家共享,有不对支持希望大家指出,谢谢!!

转载请注明出处:http://blog.csdn.net/muge0913/article/details/7308178

在上篇文章中,是对静态链接库的介绍,其实有了上面的介绍动态链接库的制作就简单了,这篇来制作动态链接库~~~



创建动态链接库:

[cpp]
view plaincopyprint?

#gcc –shared –Wall –fPIC bar.o foo.o –olibfoobar.so

#gcc –shared –Wall –fPIC bar.o foo.o –olibfoobar.so


或手动指定库路径

[cpp]
view plaincopyprint?

$ gcc -o foobar main.c-llt -B /path/to/lib

$ gcc -o foobar main.c-llt -B /path/to/lib


这里的-B 选项就添加 /path/to/lib 到gcc搜索的路径之中。这样链接没有问题但是方法II

中手动链接好的程序在执行时候仍旧需要指定库路径(链接和执行是分开的)。需要添加系

统变量 LD_LIBRARY_PATH :

[cpp]
view plaincopyprint?

$ exportLD_LIBRARY_PATH=/path/to/lib

$ exportLD_LIBRARY_PATH=/path/to/lib


查看动态链接库 和上次比 有发现没~~~~~~

[cpp]
view plaincopyprint?

$ ldd test
linux-gate.so.1 => (0xffffe000)
libfoobar.so => /usr/lib/libfoobar.so (0xb7f58000)
libc.so.6 => /lib/libc.so.6 (0xb7e28000)
/lib/ld-linux.so.2 (0xb7f6f000)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: