Linux中的动态链接库与静态链接库
静态链接库是以.a结尾的文件,一般是用工具将多个.o文件合并到一起组成静态库
动态链接库是以.so结尾的文件,和windows下的dll文件类似。
静态链接库都可以在程序编译过程中用 -L参数来指定他们 -L/opt/lib/XXX.a
动态链接库一般是在LD_LIBRARY_PATH中来指定搜索路径,也可以在 -L/opt/lib 后面加一个 lXX,对应了lib中的XX.so文件
Linux中用来查看程序用到的库可以用ldd命令
如 : ldd ls,此时会显示ls命令需要的库文件
ldd能够显示可执行模块的dependency,其原理是通过设置一系列的环境变量,如下:
LD_TRACE_LOADED_OBJECTS、
LD_WARN、LD_BIND_NOW、LD_LIBRARY_VERSION、LD_VERBOSE等。
当
LD_TRACE_LOADED_OBJECTS环境变量不为空时,任何可执行程序在运行时,它都会只显示模块的dependency,
而程序并不真正执行
相关文档:
linux目录架构
/ 根目录
/bin 常用的命令
binary file 的目錄
/boot 存放系统启动时必须读取的档案,包括核心
(kernel) 在内
/boot/grub/menu.lst GRUB设置
/boot/vmlinuz 内核
......
什么是Linux?
也许很多人会不屑的说,Linux不就是个操作系统么。错!Linux不是一个操作系统,严格来讲,Linux只是一个操作系统中的内核。内核是什么?内核建立了计算机软件与硬件之间通讯的平台,内核提供系统服务,比如任务调度,文件管理、虚拟内存、设备I/O等。
Linux内核的开发已经经历了一个漫长的过程,最初是 L ......
原文地址:http://hi.baidu.com/linuxlife/blog/item/0d3e302ae2384d3a5343c1b1.html
Linux下的动态库以.so为后缀,我也是初次在Linux下使用动态库,写一点入门步骤,以便以后能方便使用。
第一步:编写Linux程序库
文件1.动态库接口文件
//动态库接口文件getmaxlen.h
#ifndef _GETMAXLEN_H_
#define _GETMAXLEN_H_
......
安装篇
首先获取以下三个安装包 (安装不成功有提示 ,就是bind-libs-9.2.4-16.EL4被bind-9.2.4-16.EL4依赖)
bind-libs-9.2.4-16.EL4.rpm
bind-9.2.4-16.EL4.rpm
bind-devel-9.2.4-16.EL4.rpm
安装完成通过命令查看
rpm -qa|grep bind
结果如下所示就安装成功!
bind-libs-9.2.4-16.EL4
bind-9.2.4-16.EL4
bind- ......
1. 进入到vim的安装目录,一般为 /usr/share/vim/vim70/
, 或类似 /usr/share/vim/vim??
/;
2. 如果有 .vimrc.vim
文件,查找到该文件中的如下内容:
if has("vms")
set
nobackup " do not keep a backup file, use versions instead
else
set
backup " keep a backup f ......