http://blog.chinaunix.net/u2/76292/showart.php?id=1274181 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/102495/showart_2016646.html
linux动态库、静态库加载基础 静态库 在linux环境中, 使用ar命令创建静态库文件.如下是命令的选项: d -----从指定的静态库文件中删除文件 m -----把文件移动到指定的静态库文件中 p -----把静态库文件中指定的文件输出到标准输出 q -----快速地把文件追加到静态库文件中 r -----把文件插入到静态库文件中 t -----显示静态库文件中文件的列表 ...
linux下文件的类型是不依赖于其后缀名的,但一般来讲: .o,是目标文件,相当于windows中的.obj文件 .so 为共享库,是shared object,用于动态连接的,和dll差不多 .a为静态库,是好多个.o合在一起,用于静态连接 .la为libtool自动生成的一些共享库,vi编辑查看,主要记录了一些配置信息。可以用如下命令查看*.la文件的格式 $file *.la *.la: ASCII English text 所以可以用vi来查看其内容。 @@@@@@@@@@@@@@@@@...
[color="#0000ff"]1.什么是库 在windows平台和linux平台下都大量存在着库。 [color="#ff0000"]本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。 由于windows和linux的本质不同,因此二者库的二进制是不兼容的。 本文仅限于介绍linux下的库。 [color="#0000ff"]2.库的种类 linux下的库有两种:静态库和共享库(动态库)。 二者的不同点在于代码被载入的时刻不同。 [color="#ff0000"]静态库的代码在编译过程...
3.2.3 静态库 3.2.3.1 概述 库文件的含 :就是一组处于可以“拿来就用” 的状态下的二进制目标代码。当有程序需要用的函 数库中的某个函数的时候,就会通过include语句 引用对此函数做出声明的头文件。编译器和 接程 序负责把程序代码和库函数结合 一起成为一个 独立的可执行程序。如果使用的不是标准的c语言 运行库而是某个扩展库,则必须指定它的位置和名 字 (使用-I,-L和-l参数)。 静态库也叫归档...
3.2.3 静态库 3.2.3.1 概述 库文件的含 :就是一组处于可以“拿来就用” 的状态下的二进制目标代码。当有程序需要用的函 数库中的某个函数的时候,就会通过include语句 引用对此函数做出声明的头文件。编译器和 接程 序负责把程序代码和库函数结合 一起成为一个 独立的可执行程序。如果使用的不是标准的c语言 运行库而是某个扩展库,则必须指定它的位置和名 字 (使用-I,-L和-l参数)。 静态库也叫归档...
目录】 1、静态库 2、动态库 3、说明 4、参考资料 每个程序实质上都会链接到一个或者多个的库。比如使用C函数的程序会链接到C运行时库,GUI程序会链接到窗口库等等。无论哪种情况,你都会要决定是链接到静态库(static libary)还是动态库(dynamic libary)。链接到静态库会使你的程序臃肿,并且难以升级,但是可能会比较容易部署。而链接到动态库会使你的程序轻便,并且易于升级,但是会难以部署。 静态库 静态库也就相当于是把一系...
gcc -o mysql mysql.c -L /usr/lib/mysql/libmysqlclient.a /tmp/cchD8IUJ.o: In function `main': mysql.c:(.text+0x1a): undefined reference to `mysql_init' mysql.c:(.text+0x61): undefined reference to `mysql_real_connect' collect2: ld returned 1 exit status 需要将静态库编译好,挂到服务器上跑