易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux 静态库 共享库 动态库 读书笔记

静态函数库是在程序执行前就加入到目标程序中去了;而共享函数库则是在程序启动的时候加载到程序中,它可以被不同的程序共享;动态加载函数库则可以在程序运行的任何时候动态的加载。
静态函数库实际上就是简单的一个普通的目标文件的集合,一般来说习惯用“.a”作为文件的后缀。可以用ar这个程序来产生静态函数库文件。
静态库函数允许程序员把程序link起来而不用重新编译代码,节省了重新编译代码的时间
理论上说,使用ELF格式的静态库函数生成的代码可以比使用共享函数库(或者动态函数库)的程序运行速度上快一些,大概1-5%。
创建一个静态函数库文件,或者往一个已经存在地静态函数库文件添加新的目标代码,可以用下面的命令:
ar rcs my_library.a file1.o file2.o
共享函数库中的函数是在当一个可执行程序在启动的时候被加载。
每个共享函数库都有个特殊的名字,称作“soname”。Soname名字命名必须以“lib”作为前缀,然后是函数库的名字,然后是“.so”,最后是版本号信息。不过有个特例,就是非常底层的C库函数都不是以lib开头这样命名的。
一旦你有一个共享函数库,你还需要安装它。其实简单的方法就是拷贝你的库文件到指定的标准的目录(例如/usr/lib),然后运行ldconfig。
我们可以通过运行ldd来看某个程序使用的共享函数库。ldd ./owb
Linux系统下,DL函数库与其他函数库在格式上没有特殊的区别,我们前面提到过,它们创建的时候是标准的object格式。主要的区别就是这些函数库不是在程序链接的时候或者启动的时候加载,而是通过一个API来打开一个函数库,寻找符号表,处理错误和关闭函数库
一种方法是使用glibc函数库中的对动态加载模块的支持,它使用一些潜在的动态加载函数库界面使得它们可以夸平台使用。
另外一个方法是使用libltdl,是GNU libtool的一部分,可以进一步参考CORBA相关资料。
dlopen函数打开一个函数库然后为后面的使用做准备
dlerror()函数,我们可以获得最后一次调用dlopen(),dlsym(),或者dlclose()的错误信息
dlsym(),这个函数在一个已经打开的函数库里面查找给定的符号
标准的判断方法是先 调用dlerror(),清除以前可能存在的错误,然后调用dlsym()来访问一个symbol,然后再调用dlerror()来判断是否出现了错误。
dlclose()函数用力关闭一个DL函数库。
nm命令可以列出一个函数库文件中的符号表
符号的类型是以一个字母的形式显示的,小


相关文档:

学习Linux的几点建议 怎样学好Linux操作系统

很多人觉得学习Linux很“前卫”,于是就盲目加入了Linux学习的行列,当然也有人去认真的学了,这里给初学者提出七点学习Linux的建议,望批判性的阅读!
1、不要“玩 Linux”
很多人用 Linux 的时候会感觉很迷茫,该用哪个发行呢?是不是我少装了什么?怎么升级这么快啊!怎么这么不稳定!每当遇到新 ......

linux下cron异常处理小结

1.failed to open PAM security session: No such file or directory
异常描述:查看/var/log/cron时会发现如下异常日志
May 14 09:10:01 localhost crond[20319]: (CRON) /export/home/username (No such file or directory)
May 14 09:10:01 localhost crond[20319]: CRON (username) ERROR: failed to open PAM securi ......

Linux软件安装方法总结

1、软件安装 卸载,分几种情况:
A: RPM包,这种软件包就像windows的EXE安装 文件一样,各种文件已经编译好,并打了包,哪个文件该放到哪个文件夹,都指定好了,安装 非常方便,在图形界面里你只需要双击就能自动安装 。
==如何卸载:
1、打开一个SHELL终端
2、因为Linux 下的软件名都包括版本号,所以卸载前最好先确定 ......

Linux系统 /etc/fstab各个字段含义解释

 # fstab文件的作用
  文件/etc/fstab存放的是系统中的文件系统信息。当正确的设置了该文件,则可以通过"mount /directoryname"命令来加载一个文件系统,每种文件系统都对应一个独立的行,每行中的字段都有空格或tab键分开。同时fsck、 mount、umount的等命令都利用该程序。
  # fstab文件格式
  下面是/etc/fata ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号