电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

linux调用动态库so文件VIP免费

linux调用动态库so文件_第1页
1/36
linux调用动态库so文件_第2页
2/36
linux调用动态库so文件_第3页
3/36
linux 调用动态库 so 文件 分类: c++那些事2012-05-02 14:55 4831 人阅读 评论(0) 收藏 举报 linuxdlliostreamclass 编译器winapi 关于动态调用动态库方法说明 一、 动态库概述 1、 动态库的概念 日常编程中,常有一些函数不需要进行编译或者可以在多个文件中使用(如数据库输入/输出操作或屏幕控制等标准任务函数)。可以事先对这些函数进行编译,然后将它们放置在一些特殊的目标代码文件中,这些目标代码文件就称为库。库文件中的函数可以通过连接程序与应用程序进行链接,这样就不必在每次开发程序时都对这些通用的函数进行编译了。 动态库是一种在已经编译完毕的程序开始启动运行时,才被加载来调用其中函数的库。其加载方式与静态库截然不同。 2、 动态库的命名 Linux下,动态库通常以.so(share object)结尾。(通常/lib 和/usr/lib 等目录下存在大量系统提供的以.so 结尾的动态库文件) Windows 下,动态库常以.dll 结尾。(通常 C:\windows\System32 等目录下存在大量系统提供的以.dll 结尾的动态库文件) 3、 动态库与静态库之间的区别 静态库是指编译连接时,把库文件的代码全部加入到可执行文件中,所以生成的文件较大,但运行时,就不再需要库文件了。即,程序与静态库编译链接后,即使删除静态库文件,程序也可正常执行。 动态库正好相反,在编译链接时,没有把库文件的代码加入到可执行文件中,所以生成的文件较小,但运行时,仍需要加载库文件。即,程序只在执行启动时才加载动态库,如果删除动态库文件,程序将会因为无法读取动态库而产生异常。 二、 Linux下动态调用动态库 备注:以下 linux实例说明都是在 RedHat 5.1 系统+ gcc 版本 4.1.2 20080704 (Red Hat 4.1.2-46)上实现。 1、 .so 动态库的生成 可使用 gcc 或者 g++编译器生成动态库文件(此处以 g++编译器为例) g++ -shared -fPIC -c XXX.cpp g++ -shared -fPIC -o XXX.so XXX.o 2、 .so 动态库的动态调用接口函数说明 动态库的调用关系可以在需要调用动态库的程序编译时,通过 g++的-L 和-l 命令来指定。例如:程序 test 启动时需要加载目录/root/src/lib 中的 libtest_so1.so 动态库,编译命令可照如下编写执行: g++ -g -o test test.cpp –L/root/src/lib –ltest_so1 (此处,我们重点讲解动态库的动态调用的方法,关于静态的通过 g++编译命令调用的方式不作详细讲解,具体...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

linux调用动态库so文件

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部