linux中la是什么文件
发布时间 - 2022-05-09 00:00:00 点击率:次在linux中,la是使用libtool编译出的库文件,是记录同名动态库和静态库相关信息的文本文件;该文件是通过libtool保存在平台之间的唯一文件。libtool是一个通用库支持脚本,只与后缀名为lo、la的libtool文件打交道。
本教程操作环境:linux7.3系统、Dell G3电脑。
linux中la是什么文件
la: 使用libtool编译出的库文件,其实是个文本文件,记录同名动态库和静态库的相关信息
libtool的工作原理
libtool 是一个通用库支持脚本,将使用动态库的复杂性隐藏在统一、可移植的接口中;使用libtool的标准方法,可以在不同平台上创建并调用动态库。可以认为libtool是gcc的一个抽象,其包装了gcc(或者其他的编译器),用户无需知道细节,只要告诉libtool需要编译哪些库即可,libtool将处理库的依赖等细节。libtool只与后缀名为lo、la为的libtool文件打交道。
扩展知识:
linux下的so、o、lo、a、la文件有什么区别?
o: 编译的目标文件
a: 静态库,其实就是把若干o文件打了个包
so: 动态链接库(共享库)
lo: 使用libtoo
l编译出的目标文件,其实就是在o文件中添加了一些信息
libtool主要的一个作用是在编译大型软件的过程中解决了库的依赖问题;将繁重的库依赖关系的维护工作承担下来,从而释放了程序员的人力资源。libtool提供统一的接口,隐藏了不同平台间库的名称的差异等细节,生成一个抽象的后缀名为la高层库libxx.la(其实是个文本文件),并将该库对其它库的依赖关系,都写在该la的文件中。该文件中的dependency_libs记录该库依赖的所有库(其中有些是以.la文件的形式加入的);libdir则指出了库的安装位置;library_names记录了共享库的名字;old_library记录了静态库的名字。
当编译过程到link阶段的时候,如果有下面的命令:
$libtool --mode=link gcc -o myprog -rpath /usr/lib –L/usr/lib –la
libtool会到/usr/lib路径下去寻找liba.la,然后从中读取实际的共享库的名字(library_names中记录了该名字,比如liba.so)和路径(lib_dir中记录了,比如libdir=’/usr/lib’),返回诸如/usr/lib/liba.so的参数给激发出的gcc命令行。
如果liba.so依赖于库/usr/lib/libb.so,则在liba.la中将会有dependency_libs=’-L/usr/lib -lb’或者dependency_libs=’/usr/lib/libb.la’的行,如果是前者,其将直接把“-L/usr/lib –lb”当作参数传给gcc命令行;如果是后者,libtool将从/usr/lib/libb.la中读取实际的libb.so的库名称和路径,然后组合成参数“/usr/lib/libb.so”传递给gcc命令行。
相关推荐:《Linux视频教程》
# linux
# 接口
# 是一个
# 是个
# 命令行
# 文本文件
# 相关信息
# 该文件
# 是在
# 会有
# 其他的
# 则在
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何实现模型的全局作用域?(Global Scope示例)
网站建设保证美观性,需要考虑的几点问题!
LinuxCD持续部署教程_自动发布与回滚机制
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
如何挑选最适合建站的高性能VPS主机?
Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明
如何在阿里云服务器自主搭建网站?
Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康
如何打造高效商业网站?建站目的决定转化率
香港网站服务器数量如何影响SEO优化效果?
公司网站制作价格怎么算,公司办个官网需要多少钱?
edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】
Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】
Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全
Laravel Octane如何提升性能_使用Laravel Octane加速你的应用
JavaScript中的标签模板是什么_它如何扩展字符串功能
香港服务器WordPress建站指南:SEO优化与高效部署策略
JS经典正则表达式笔试题汇总
如何快速查询网址的建站时间与历史轨迹?
Laravel如何创建和注册中间件_Laravel中间件编写与应用流程
详解CentOS6.5 安装 MySQL5.1.71的方法
Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面
Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程
海南网站制作公司有哪些,海口网是哪家的?
南京网站制作费用,南京远驱官方网站?
Laravel如何保护应用免受CSRF攻击?(原理和示例)
高防服务器:AI智能防御DDoS攻击与数据安全保障
Windows Hello人脸识别突然无法使用
iOS UIView常见属性方法小结
php json中文编码为null的解决办法
canvas 画布在主流浏览器中的尺寸限制详细介绍
Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南
如何用美橙互联一键搭建多站合一网站?
Win11怎么开启自动HDR画质_Windows11显示设置HDR选项
如何在IIS7中新建站点?详细步骤解析
Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布
Laravel如何为API生成Swagger或OpenAPI文档
Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】
Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制
Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】
HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】
如何快速上传自定义模板至建站之星?
Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册
悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤
Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程
如何快速生成橙子建站落地页链接?
如何快速搭建高效简练网站?
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
微信小程序 闭包写法详细介绍


l编译出的目标文件,其实就是在o文件中添加了一些信息