当前位置:首页 > 日记 > 正文

linux静态库和动态库的创建与使用

linux静态库和动态库的创建与使用
评论:本文主要介绍Linux静态库和动态库的创建和使用,您需要的朋友可以参考一下。
静态和动态库的创建和使用
1。基本概念

静态库:当链接被链接时,该库被打包在一个可执行文件中,该文件是已编译的O文件。
动态库:链接未打包成可执行文件,动态库在执行时动态加载。

差异主要体现在:

可维护性。
加入更新。更新的动态库,只是取代图书馆。但需要重新生成新的可执行程序全部更新。
环境依赖性。如果包含静态库,编译成功后编译器不依赖环境。动态库与环境中相应的动态库的存在有依赖关系。
B,大小
空间利用率。如果依赖相同的静态库,则有多个副本。
可执行文件大小。静态库文件大。
动态库可以实现进程间的资源共享,因此也称为共享库。

2的创建和使用。静态库

静态库本质上是一组O压缩文件,其中有一个扩展名为。

复制代码代码如下所示:
AR CRV libxxx,嗯,啊啊嗯。
XXX是图书馆的名字,嗯,啊,nnnn。O是把目标file.crv参数,意思是

C:不要警告库是否被创建
r:替换现有或插入新文件到归档文件中
V:罗嗦

使用时,只需要在代码链接介绍一个头文件,指定搜索路径的静态库(-l选项)和静态库名(不需要前缀和后缀,-l选项)。
复制代码代码如下所示:
g++ test.cpp L.。 / staticlibrary -八十
三.动态库

窗口与Linux可执行文件格式不同,在创建动态库时存在一些差异。

windows下的可执行文件是PE格式。动态库需要DllMain函数初始化录入。通常,当出口函数声明,_declspec(dllexport)的关键是需要的。
在Linux下编译的GCC缺省是默认的ELF格式,不需要初始化条目,不需要一个特殊声明的函数,而且编写起来很方便。
Linux下动态库的名称格式为静态库一样,这是libxxx.so格式。

使用编译器创建动态库,不需要使用像静态库这样的专门的打包工具。

创建一个动态库,加上-fPIC选项时,源代码被编译,并添加共享选项时,链接链接。

复制代码代码如下所示:
G + -fPIC共享- O libxxx.so xxx.cpp
使用相同的静态库,

复制代码代码如下所示:
g++ test.cpp L.。 /动态库-八十
你只需要设置搜索路径,默认的搜索路径: / / / lib,usr / lib。

设置搜索路径:

编辑 / / ld.so.conf等,设置搜索路径
要想运行和重建 / / ld.so.cache等文件的设置是有效的。
4。相关的工具
LDD查看程序相关的共享库(动态库)

复制代码代码如下所示:
GCC和G++参数-我(uppercase'i '),L(capital'l '),L(lowercase'l)
1、我(uppercase'i)的头文件目录
2、L(uppercase'l)图书馆目录
3、L(lowercase'l ')库名

大写是一个目录,小写是一个库。

相关文章

IE浏览器和Chrome浏览器不能同时打

IE浏览器和Chrome浏览器不能同时打

浏览器,解决方案,电脑软件,Chrome,问题: 我的电脑打开QQ空间,默认是使用IE浏览器,但通常我爱用的谷歌浏览器浏览器,最近的问题,如果同时打开两个浏览器,浏览器将同时关闭,有时页面会弹出错误,和桌面图标全部消失,它必须取消,重新进入,不知道在想些什…

win7桌面小工具的拼图板添加新的方

win7桌面小工具的拼图板添加新的方

方法,桌面,默认,图板,小工具,点评:赢7桌面小工具图片拼图板默认文字只有11张图片,那么你能找到一些图片来添加吗事实上,它会告诉你一个帮助你的好方法。 赢7桌面小工具,图片拼图板,默认情况下,只有11张图片。我的一个朋友非常喜欢玩这个游戏。他…

Windows操作系统下句柄机制的解释

Windows操作系统下句柄机制的解释

机制,操作系统,句柄,解释,电脑软件,评论:本文详细介绍了Windows操作系统下的句柄机制,感兴趣的朋友可以理解。 workarea_address(在这一领域的V和V sql_workarea sql_workarea_active美元美元),工作区的处理地址表示,也就是说,它是一个对象的SQL…

mysql语句时对用例的说明

mysql语句时对用例的说明

用例,语句,电脑软件,mysql,MySQL数据库中语句的情况。 语句用于计算条件列表并返回多个可能结果表达式中的一个的情况。 案例有两种格式: 一个简单的案例函数将表达式与一组简单表达式进行比较,以确定结果。 案例搜索函数计算一组布尔表…

PHP多维数组移除重复值的示例共享

PHP多维数组移除重复值的示例共享

多维数组,示例,移除,电脑软件,PHP,复制代码代码如下所示: $ = { rec_items :{ { 类:幻想 是:6326585, 作者:我吃西红柿 要:10079306, last_sort :841, last_chapter_name :第二十五卷第六章一扫而空 sub_count :5364424, novel_name :不知死活 last_upd…

WW是ww.exe-过程

WW是ww.exe-过程

过程,电脑软件,WW,ww,exe,综述:简要介绍了ww.exe -污水处理 进程文件:WW或ww.exe 进程名称:WeatherWatcher 过程类别:安全风险的过程 英文描述: ww.exe是一个托盘栏的过程,提供你的特点,你,它也被称为以下三个方面。 中文参考: ww.exe是天气系统托…

用正则表达式清除PHP中字符串的空

用正则表达式清除PHP中字符串的空

字符串,清除,正则表达式,空白,电脑软件,如果要删除字符串的开头和结尾的空格,可以使用PHP内部函数微调(),但我们通常需要完全清除空白。您需要删除开始和结束空白,将一些空白变为空白,并使用规则处理同一类型的其他空白。 用PHP完成这些正则表达…

对hphupd04.exe查询是什么hphupd04

对hphupd04.exe查询是什么hphupd04

查询,过程,功能,电脑软件,exe,点评:hphupd04.exe是HP Photosmart软件升级程序 进程文件:hphupd04或hphupd04.exe 进程名称:HP Photosmart更新 过程类别:安全风险的过程 英文描述: hphupd04.exe是一个过程,属于HP Photosmart应用并负责保管该软…

降低mysql主从数据同步延迟问题的

降低mysql主从数据同步延迟问题的

数据同步,解决方案,延迟,主从,详细,基于局域网的主/从机制通常能满足实时备份的要求,如果延迟比较大,可以确定以下因素: 1。网络延迟 2。掌握负荷 三.从载荷 一般的做法是使用多个奴隶来分配读取请求,然后从这些奴隶身上取一个特殊的服务器,只作…

linux下获取用户主目录的方法共享

linux下获取用户主目录的方法共享

用户,方法,主目录,电脑软件,linux,注释:程序相关的配置文件一般放在Linux下用户的主目录下,这需要程序获取当前用户的主目录路径。 方法如下 char *path = getenv(家); printf(路径= %s getenv是一个标准的库函数,包含程序。h头文件。…

如何找回Win8.1(WindowsServer2012R

如何找回Win8.1(WindowsServer2012R

拉里,电脑软件,点评:如何找回Win8.1(Windows Server 2012 R2)拉里,今天给大家介绍我的方法 一个是微软拼音选项,只能在Metro界面上修改: 将鼠标移动到屏幕右侧,出现Metro菜单,选择设置并选择更改计算机设置的底部。 时间和区域和语言设置>中文选项-…

Word2003五需要掌握小技巧的运用

Word2003五需要掌握小技巧的运用

小技巧,电脑软件,1、快速更改英文大小。在文件中,选择你想要改变英语写字母或单词的大小,按住键,然后按;Shiftf3键,停止键,按下f3f3每次按下关键英语格式之间的所有大写字母大写和小写格式转换。 2。直接输入号码(的)。你有没有发现在Word2003,通常…