动态链接库概念 动态库(DynamicLinkLibraryabbr,DLL)技术是程序设计中经常采用的技术。其目的减少程序的大小,节省空间,提高效 率,具有很高的灵活性。采用动态库技术对于升级软件版本更加容易。与静态库(StaticLinkLibrary)不同,动态库里面的函数不是执行程序本身的....
分类:
其他好文 时间:
2015-01-30 14:53:50
阅读次数:
163
给程序和库添加版本号和库,有利于维护和升级。
当然你可以在文件名上体现,比如有个程序叫 yun,文件名写为 yun_1.0.2,但这个需要每次手动维护,而且不能100%确保当前程序就是那个版本。所以,把版本号体现在程序内部,是一个不错的选择。
----------------------------------- 我是做法分割线 o ----------------------------...
分类:
系统相关 时间:
2015-01-30 10:52:55
阅读次数:
232
"动态链接库"这个名字非常的熟悉,却又常常让我非常的疑惑,比如今天。查了些资料也动了下手,把一些过程和结论记下来。
问题一、库文件的后缀
一个比较常识的知识是,Linux下的静态库以.a结尾,而windows下的静态库以.lib结尾。
Linux下的动态库以.so结尾,windows下的动态库以.dll。有一点值得注意的是,windows下VC使用的
动态库一般还需要一个导...
分类:
其他好文 时间:
2015-01-30 10:42:14
阅读次数:
157
最近在使用SPP网络框架进行业务开发的时候,遭遇动态库搜索路径问题,为了避免其他同学继续在这方面浪费精力,简单整理了相关知识点。
【背景知识】
这里不打算深入链接器内部,简明扼要给出链接器进行动态库搜索的一些规则。
以上是man ld结果部分截图,这里着重澄清两个基本概念:"link time"(链接时)和"runtime"(运行时),比如常用的-L选项属于链接时,而...
分类:
其他好文 时间:
2015-01-29 21:09:48
阅读次数:
483
静态库的样子就是用户拿到的文件有很多头文件.h+资源包+编译过的一个二进制文件.a(.framework)。即没有公开的那些文件都被编译进了.a或.framework里面。如果是为了保护知识产权什么的可以用静态库。...
分类:
移动开发 时间:
2015-01-29 17:44:07
阅读次数:
324
# 静态库编译配置
./configure --enable-static --disable-debug --disable-yasm --prefix=/usr/local/ffmpeg
# 动态库编译配置
./configure --enable-shared --prefix=/usr/local/ffmpeg
# 编译并安装
make
make install
# 如果安装成功,安装的...
分类:
其他好文 时间:
2015-01-29 10:34:39
阅读次数:
210
VELT的全称是Visual EmbedLinuxTools,它是一个与visual gdb类似的visual studio插件,用以辅助完成Linux开发。利用这个插件,将可以在visual studio的IDE中进行Linux应用程序的开发(包括编译和调试),也可以进行uboot和linux内核的编译,并根据编译时的错误信息正确定位到源码。本文讨论用它来开发一个 Linux静态库。...
分类:
系统相关 时间:
2015-01-28 22:38:49
阅读次数:
398
一、gcc1.gcc #include的路径:/usr/include2.gcc动态链接库:3.生成动态链接库:-shared -fpic -o 链接库名,shared表示生成的文件为动态链接库4.编译程序时链接动态库:-L '链接库路径' -l'链接库名’(linux的动态库名以lib开头,以.s...
分类:
其他好文 时间:
2015-01-28 17:34:20
阅读次数:
270
有时用valgrind定位内存泄露问题时当内存泄露的位置在动态库(so)中时, 输出的调用栈为问号"???"并且没有指明源码的行号.即使尝试了加 -g 的编译参数并且程序退出前不执行dlclose,也无济于事.
==29941== 17 bytes in 1 blocks are definitely lost in loss record 29 of 197
==29941== at...
分类:
其他好文 时间:
2015-01-28 14:43:58
阅读次数:
242
快乐虾http://blog.csdn.net/lights_joy/(QQ群:Visual EmbedLinux Tools 375515651)欢迎转载,但请保留作者信息本文仅适用于vs2013 + velt-0.1.31.1 什么是VELTVELT的全称是Visual EmbedLinuxTools,它是一个与visual gdb类似的visual studio插件,用以辅助完成Lin...
分类:
系统相关 时间:
2015-01-27 21:53:49
阅读次数:
387