在linux下创建库函数
Linux下创建库函数
By luster
luster@linuxaid.com.cn
2001-8-16
本文件主要参考Program Library HOWTO,
作者是luster(hwang@ustc.edu),
所有非商业目的的再次发行本文件都是允许的,不过请保留作者信息和本版权声明。本文件首先在www.linuxaid.com.cn发布。
1. 介绍
使用GNU的工具我们怎么在Linux下创建自己的程式函数库?一个“程式函数库”简单的说就是个文件包含了一些编译好的代码和数据,这些编译好的代 码和数据能在事后供其他的程式使用。程式函数库能使整个程式更加模块化,更容易重新编译,而且更方便升级。
程式函数库可分为3种类型:静态函数库 (static libraries)、共享函数库(shared libraries)和动态加载函数库(dynamically loaded libraries)。
静态函数库是在程式执行前就加入到目标程式中去了;而共享函数库则是在程式启动的时候加载到程式中,他能被不同的程式共享;动态加载函数库则能在程式 运行的所有时候动态的加载。实际上,动态函数库并非另外一种库函数格式,差别是动态加载函数库是怎么被程式员使用的。后面我们将举例说明。
2. 静态函数库
静态函数库实际上就是简单的一个普通的目标文件的集合,一般来说习惯用“.a”作为文件的后缀。能用ar这个程式来产生静态函数库文件。Ar 是archiver的缩写。静态函数库目前已不在像以前用得那么多了,主要是共享函数库和之相比较有非常多的优势的原因。慢慢地,大家都喜欢使用共享函数 库了。不过,在一些场所静态函数库仍然在使用,一来是保持一些和以前某些程式的兼容,二来他描述起来也比较简单。
静态库函数允许程式员把程式link起来而不用重新编译代码,节省了重新编译代码的时间。不过,在今天这么快速的计算机面前,一般的程式的重新编译也 花费不了多少时间,所以这个优势已不是像他以前那么明显了。静态函数库对研发者来说还是非常有用的,例如你想把自己提供的函数给别人使用,不过又想对函数 的原始码进行保密,你就能给别人提供一个静态函数库文件。理论上说,使用ELF格式的静态库函数生成的代码能比使用共享函数库(或动态函数库)的程式运行 速度上快一些,大概1-5%。
创建一个静态函数库文件,或往一个已存在地静态函数库文件添加新的目标代码,能用下面的命令:
ar rcs my_library.a file1.o file2.o
这个例子中是把目标代码file1.o和file2.o加入到my_library.a这个函数库文件中,如果my_library.a不存在 则创建
相关文档:
tc是个配置Linux内核流量控制的工具 名字 tc - 显示/维护流量控制配置 摘要 tc qdisc [ add | change | replace | link ] dev DEV [ parent qdisc-id | root ] [ handle qdisc-id ] qdisc [ qdisc specific parameters ] tc class [ add | change | replace ] dev DEV parent qdisc-id [ classid class-id ] qd ......
(1)dev
是设备(device)的英文缩写。这个目录对所有的用户都十分重要。因为在这个目录中包含了所有Linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序。这一点和我们常用的windows,
dos操作系统不一样。它实际上是一个访问这些外部设备的端口。我们可以非常方便地去访问这些外部设备,和访问一个文件,一个 ......
本人安装的是Vmware 6.5精简版,导致后来我想在虚拟机和Windows下互传不了文件,发现少了linux.iso镜像文件。我在网上找到并把它放到虚拟机的安装目录下,然后启动虚拟机下的linux操作系统,虚拟机--->设置,单击CD/DVD,选择使用ISO镜像,路径指向linux.iso,然后在/mnt/cdrom下就有了vmware-t ......
配置文件
/etc/syslog.conf
常用的几个log文件
1、/var/log/boot.log(自检过程)
2、/var/log/cron (crontab守护进程)
3、/var/log/maillog (发送到系统或从系统发出的电子邮件的活动)
4、/var/log/syslog (它只记录警告信息,常常是系统出问题的信息,所以更应该关注该文件)
5、/va ......