【ARM 嵌入式 编译系列 3.6 -- 删除lib中的某个文件】


请阅读【嵌入式开发学习必备专栏 之 ARM GCC 编译专栏】


文章目录

    • 删除lib中的某个文件

删除lib中的某个文件

比如,如果要删除 libc.a 静态库中的特定对象文件并重新使用这个静态库,在终端中可以使用 ar 命令。ar 是一个归档工具,它可以创建、修改、提取以及列出归档库文件(如 .a 文件)的内容。

下面是删除 libc.a 中指定对象文件的步骤:

  1. 列出 libc.a 中的所有对象文件,以确认要删除的文件确实存在:
ar t libc.a
[02:32:10] (*^~^*) ~/sam/workbase/ra4m2/test$ ar -t libc.a
lib_a-_Exit.o
lib_a-__adjust.o
lib_a-__atexit.o
lib_a-__call_atexit.o
lib_a-__dprintf.o
lib_a-__exp10.o
lib_a-__ten_mu.o
lib_a-a64l.o
lib_a-abort.o
lib_a-abs.o
lib_a-access.o
lib_a-aeabi_atexit.o
lib_a-aeabi_memclr.o
lib_a-aeabi_memcpy-ar
...
  1. 使用 ar 命令从 libc.a 中删除指定的对象文件。你可以一次性删除多个对象文件:
ar d libc.a lib_a-closer.o lib_a-fstatr.o lib_a-isattyr.o lib_a-lseekr.o lib_a-readr.o 
  1. 再次列出 libc.a 的内容以确认对象文件已被删除:
ar t libc.a 
  1. (可选)如果你想验证删除的对象文件是否会影响程序的链接,你可以尝试重新链接你的程序:
gcc -o myprogram myprogram.c -L/path/to/lib -lc 

其中 /path/to/liblibc.a 所在目录的路径。

请注意,删除静态库 libc.a 中的对象文件可能会导致链接时出现未定义的引用错误,因为你可能移除了程序依赖的函数。如果你的程序确实需要这些对象文件中定义的函数,那么链接会失败。在这种情况下,你需要确保这些函数的实现以其他方式提供,或者避免从库中删除这些对象文件。

此外,在修改系统级的 libc.a 静态库之前,建议创建一个备份。这样,如果修改导致问题,你可以恢复原始的静态库。如果不是必要的,通常不建议修改系统级的库,而是应该创建并使用自定义的静态库。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/639127.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Unity小技巧】3D人物移动脚步和跳跃下落音效控制

文章目录 单脚步声多脚步声,跳跃落地音效播放不同材质的多脚步声完结 单脚步声 public AudioClip walkingSound; public AudioClip runningSound;//移动音效 public void MoveSound() {// 如果在地面上并且移动长度大于0.9if (isGround && moveDirection.s…

动物免疫(羊驼免疫)-泰克生物

在过去几十年里,抗体研究和应用的领域已经经历了革命性的变化。在这个进程中,一种特殊来源的抗体 —— 来自骆驼科动物(包括羊驼)的单链抗体(也称纳米抗体)引起了全球科学家的广泛关注。 羊驼等骆驼科动物…

Java NIO (四)NIO Selector类

1 选择器与注册 选择器是什么?选择器和通道关系是什么? 简单的说,选择器的使用是完成IO的多路复用,其主要工作是通道的注册、监听、事件查询。一个通道代表一条连接通路,通过选择器可以同时监听多个通道的IO(输入输出)…

长拖尾数据的采样方法

以下内容来自于ChatGPT长拖尾数据的采样方式: 对于具有长拖尾(长尾)分布的数据,通常使用传统的随机抽样方法可能不太适用,因为这样的分布意味着有一些极端值(outliers)会对整体分布产生较大影响…

【Linux】python版本控制和环境管理

文章目录 1.查看目前python的版本2.添加软件源并更新3.选择你想要下载的版本4.警示:没必要设置默认版本误区千万千万不要覆盖python3软链接解决办法 5.pip软件包管理最省心稍微麻烦换源 网上有很多教程都是教导小白去官方下载之后编译安装。但是,小白连c…

4.go 基础类型及类型转换

目录 概述basic types总结例子 Zero values总结例子 类型转换总结例子 结束 概述 go 版本: go1.20.13 basic types 总结 基本类型如下: boolstringint int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 uintptrbyte // alias for uint8…

[pytorch入门] 2. tensorboard

tensorboard简介 TensorBoard 是一组用于数据可视化的工具。它包含在流行的开源机器学习库 Tensorflow 中.但是也可以独立安装&#xff0c;服务Pytorch等其他的框架 可以常常用来观察训练过程中每一阶段如何输出的 安装pip install tensorboard启动tensorboard --logdir<d…

蓝桥杯理历年真题 —— 数学

1. 买不到的数目 这道题目&#xff0c;考得就是一个日常数学的积累&#xff0c;如果你学过这个公式的话&#xff0c;就是一道非常简单的输出问题&#xff1b;可是如果没学过&#xff0c;就非常吃亏&#xff0c;在考场上只能暴力求解&#xff0c;或是寻找规律。这就要求我们什么…

Python图像处理【19】基于霍夫变换的目标检测

基于霍夫变换的目标检测 0. 前言1. 使用圆形霍夫变换统计图像中圆形对象2. 使用渐进概率霍夫变换检测直线2.1 渐进霍夫变换原理2.2 直线检测 3. 使用广义霍夫变换检测任意形状的对象3.1 广义霍夫变换原理3.2 检测自定义形状 小结系列链接 0. 前言 霍夫变换 (Hough Transform,…

H5112C PWM调光 无频闪 高性价比 支持12V 24V 36V 48V 60V 72V 内置MOS

PWM调光芯片是一种常用于LED调光控制的芯片&#xff0c;其工作原理如下&#xff1a; 脉冲宽度调制&#xff08;PWM&#xff09;&#xff1a;PWM是一种调制技术&#xff0c;通过改变信号的脉冲宽度来控制输出信号的平均功率。在PWM调光中&#xff0c;芯片会以一定的频率产生一系…

SpringCloud Alibaba 深入源码 - Nacos 和 Eureka 的区别(健康检测、服务的拉取和订阅)

目录 一、Nacos 和 Eureka 的区别 1.1、以 Nacos 注册流程来解析区别 一、Nacos 和 Eureka 的区别 1.1、以 Nacos 注册流程来解析区别 a&#xff09;首先&#xff0c;我们的服务启动时。都会把自己的信息提交给注册中心&#xff0c;然后注册中心就会把信息保存下来. 注册的…

Midjourney常见参数列表(极速版)

前言 参数是添加到提示词末尾的选项&#xff0c;可以改变图片的生成方式。参数可以改变图片的长宽比&#xff08;Aspect Ratios&#xff09;&#xff0c;切换不同的Midjourney模型版本&#xff08;Model Versions&#xff09;&#xff0c;改变使用的放大器&#xff08;Upscaler…

Leetcode 3016. Minimum Number of Pushes to Type Word II

Leetcode 3016. Minimum Number of Pushes to Type Word II 1. 解题思路2. 代码实现 题目链接&#xff1a;3016. Minimum Number of Pushes to Type Word II 1. 解题思路 这道题的话思路其实还是蛮简单的&#xff0c;显然我们的目的是要令对给定的word在键盘上敲击的次数最小…

ELK日志分析

目录 一、ELK概述 &#xff08;一&#xff09;ELK的定义 &#xff08;二&#xff09;ELK工具 1.ElasticSearch 2.Kiabana 3.Logstash &#xff08;1&#xff09;定义 &#xff08;2&#xff09;插件 ① input ② filter ③ output &#xff08;三&#xff09;可以添…

Spring、Spring-MVC、Mybatis、Mybatis-generator整合核心配置文件记录

Spring、Spring-MVC、Mybatis、Mybatis-generator整合核心配置文件记录 文章目录 Spring、Spring-MVC、Mybatis、Mybatis-generator整合核心配置文件记录1. spring.xml2. spring-mvc.xml3. mybatis-config.xml4. mybaits-generator.xml5. ehcach.xml6. web.xml Spring、Spring-…

快速排序(三)——hoare法

目录 ​一.前言 二.快速排序 hoare排法​ 三.结语 一.前言 本文给大家带来的是快速排序&#xff0c;快速排序是一种很强大的排序方法&#xff0c;相信大家在学习完后一定会有所收获。 码字不易&#xff0c;希望大家多多支持我呀&#xff01;&#xff08;三连&#xff0b;关…

Spring Boot3整合Druid(监控功能)

目录 1.前置条件 2.导依赖 错误依赖&#xff1a; 正确依赖&#xff1a; 3.配置 1.前置条件 已经初始化好一个spring boot项目且版本为3X&#xff0c;项目可正常启动。 作者版本为3.2.2最新版 2.导依赖 错误依赖&#xff1a; 这个依赖对于spring boot 3的支持不够&#…

微服务架构弹性伸缩策略方案

微服务架构的弹性伸缩策略是确保系统能够在不同工作负载下高效运行的关键。通过巧妙的策略&#xff0c;可以实现对每个微服务的独立伸缩&#xff0c;提高系统的灵活性和性能。本文将深入探讨微服务架构下的弹性伸缩方案。 1. 独立微服务的弹性伸缩 微服务架构的核心思想是将应…

用go语言删除重复文件

用go语言删除重复文件 文章目录 用go语言删除重复文件需求&#xff1a;将同级别目录&#xff08;只有一层的目录&#xff0c;没子目录&#xff09;下的重复文件删除打包成exe文件使用 需求&#xff1a;将同级别目录&#xff08;只有一层的目录&#xff0c;没子目录&#xff09;…

H5嵌入小程序适配方案

时间过去了两个多月&#xff0c;2024已经到来&#xff0c;又老了一岁。头发也掉了好多。在这两个月时间里都忙着写页面&#xff0c;感觉时间过去得很快。没有以前那么轻松了。也不是遇到了什么难点技术&#xff0c;而是接手了一个很烂得项目。能有多烂&#xff0c;一个页面发起…