摘要: Linux 如何解决共享库的版本控制 Linux 系统,也同样面临和Window一样的问题,如何控制动态库的多个版本问题。Window之前没有处理好,为此专门有个名词来形容这个问题 “Dll hell”,其严重影响软件的升级和维护。 Dll hell 是指windows 上动态库新版本覆盖旧版本,但是却不兼容老版本。常常发生在程序升级之后,动态库更新,原有程序运行不起来;或者装新软件,但是已有... 阅读全文
posted @ 2011-02-24 19:09 katago 阅读(1211) 评论(0) 推荐(0)
摘要: http://www.top-e.org/jiaoshi/html/?377.html 从Linux 2.6起引入了一套新的驱动管理和注册机制:platform_device和platform_driver。Linux中大部分的设备驱动,都可以使用这套机制,设备用platform_device表示,驱动用platform_driver进行注册。 Linux platform driver机制和传... 阅读全文
posted @ 2011-02-24 18:47 katago 阅读(713) 评论(0) 推荐(0)
摘要: 参考 http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.htmlgcc -fPIC -g -c -Wall a.cgcc -fPIC -g -c -Wall b.cgcc -shared -Wl,-soname,libmystuff.so.1 \ -o libmystuff.so.1.0.1 a.o b.o –lcmakefi... 阅读全文
posted @ 2011-02-24 17:39 katago 阅读(352) 评论(0) 推荐(0)
摘要: 对动态库的实际应用还不太熟悉的读者可能曾经遇到过类似“error while loading shared libraries”这样的错误,这是典型的因为需要的动态库不在动态链接器ld.so的搜索路径设置当中导致的。 具体说来,动态链接器ld.so按照下面的顺序来搜索需要的动态共享库: 1.ELF可执行文件中动态段中DT_RPATH所指定的路径。这实际上是通过一种不算很常用,却比较实用的方法所设置... 阅读全文
posted @ 2011-02-24 16:37 katago 阅读(6800) 评论(0) 推荐(0)
摘要: 众所周知, Linux 动态库的默认搜索路径是 /lib 和 /usr/lib 。动态库被创建后,一般都复制到这两个目录中。当程序执行时需要某动态库, 并且该动态库还未加载到内存中,则系统会自动到这两个默认搜索路径中去查找相应的动态库文件,然后加载该文件到内存中,这样程序就可以使用该动态库中的函 数,以及该动态库的其它资源了。在 Linux 中,动态库的搜索路径除了默认的搜索路径外,还可以通过以... 阅读全文
posted @ 2011-02-24 16:35 katago 阅读(30599) 评论(1) 推荐(1)
摘要: 参考http://en.wikipedia.org/wiki/NTFS NTFSMount, NTFS-3G and Captive NTFS 都是用户空间的驱动, 都是基于filesystem in userspace(fuse)模块。 阅读全文
posted @ 2011-02-24 16:09 katago 阅读(249) 评论(0) 推荐(0)