将静态库答案放在 flash 部分的开头

2023-11-30

我正在使用 atmelstudio 编译固件映像,并希望将静态库(包括 gnu 的 libc.a 和 libgcc.a)中的函数放在 .text 部分的开头,后面的 .text 属于我的项目源代码。现在发生的情况恰恰相反。

这是我的链接器脚本

    . = ALIGN(4);
    _sfixed = .;
    KEEP(*(.vectors .vectors.*))
    *(.text .text.* .gnu.linkonce.t.*)    <-- my functions and functions from static libraries are within this rule
    *(.glue_7t) *(.glue_7)
    *(.rodata .rodata* .gnu.linkonce.r.*)
    *(.ARM.extab* .gnu.linkonce.armextab.*)

明星在*(.text), 表示匹配任何目标文件。您需要给出 libc 的名称并将其放在第一位。这些被称为输入部分在 gnu ld 手册中。根据手册的语法是libc.a:(.text),您可以订购库中的特定对象,使用libc.a:strcmp.o(.text).

See: Gnu Ld 第 3.6.4.1 节输入节基础知识获取详细信息。


解决方案可能是,

KEEP(*(.vectors .vectors.)) 
.a:(.text .text. .rodata .rodata*) <-- this line 
*(.text .text. .gnu.linkonce.t.*) 
*(.glue_7t) *(.glue_7) 
*(.rodata .rodata .gnu.linkonce.r.*)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将静态库答案放在 flash 部分的开头 的相关文章

随机推荐

  • 如何更改角度材料日期选择器中的日期格式?

    我想将默认日期格式 YYYY MM DD 更改为其他格式 例如 MM DD YYYY 这是我的日历 HTML 结构
  • 使用 Maven Cargo 插件将 Web 应用程序部署到外部 glassfish4 实例

    我正在尝试使用货物部署应用程序 这是它的配置
  • 执行memcpy(0,0,0)是否保证安全?

    我不太熟悉 C 标准 所以请耐心等待 我想知道按照标准是否可以保证memcpy 0 0 0 是安全的 我能找到的唯一限制是 如果内存区域重叠 则行为未定义 但是我们可以认为这里的内存区域是重叠的吗 我有 C 标准 ISO IEC 9899
  • NSIS 自动静默更新

    我目前正在构建一个应用程序 并希望为其提供安装程序和自动静默更新 Dropbox Spotify 和 Chrome 都擅长在无人察觉的情况下进行更新 因此 我查看了 AppData 中的 Dropbox 漫游文件夹 发现了一个名为 Drop
  • 在 google chrome 上打印时删除空白页

    我使用 media print 对打印进行一些更改 但是当我在 Google Chrome 中看到打印预览时 它在底部显示了一个额外的空白页 如何去除它 我尝试了一些代码 但它仍然不起作用 div last child page break
  • 尝试创建一个带标签的 numpy 数组

    我想要一个 numpy 数组 其中包含每个值的值和相应的标签 我正在使用这个数组进行线性回归 它将是我的X方程中的数据向量y Xb error My X向量由大约 20 个变量组成 我希望能够像这样通过名称引用每个变量X variable1
  • SwiftUI - 如何脉动图像不透明度?

    我在 SwiftUI 中有一个图像 我希望它永远 脉动 每秒左右来来去去 我尝试了很多方法 但似乎无法达到我想要的效果 我尝试过的事情之一是下面的代码 它似乎什么也没做 Image systemName dot radiowaves lef
  • 自定义 className 语义 ui 反应

    我希望做这样的事情
  • jQuery ajax 加载 MVC 控制器参数的问题

    介绍 我正在使用带有 WebApi 2 0 和 jQuery 的 ASP NET MVC 5 Problem 我正在尝试显示一个带有来自 ajax 调用的用户详细信息的模式 使用 getJSON 我成功收到来自 WebApi 的 Json
  • 无法在 Heroku 上“运行”

    我已经将 Clojure 应用程序部署到 Heroku 当我运行 请求它时 我收到错误 http glowing planet 168 herokuapp com 所以现在我想启动一个 REPL 看看是否可以获得更多信息 但是当我尝试时我得
  • 从 Fortran 调用 C 函数,其中 C 函数名称最初是从 C 传入的

    由于不相关的原因 我需要将 C C 函数名称传递到 Fortran 子例程中 该子例程又调用该 C 函数 我发现我可以成功地将函数名称传递到 Fortran 子例程中 在该子例程中我可以调用正确的 C 函数 然而 C 函数的参数在这次调用中
  • Java计算器不执行if语句[重复]

    这个问题在这里已经有答案了 我对编程比较陌生 最近开始学习 Java 以便进入 Android 编程 我以为我会创建一个非常简单的计算器来练习 但似乎我的 if 语句不起作用 import java util Scanner public
  • 即使我获得了类窗口的句柄,BringWindowToTop 也不起作用

    我用以下方法注册我的班级 BOOL CNDSClientDlg InitInstance Register Window Updated on 16th Nov 2010 Subhen Register our unique class n
  • 调整大小的黑色画布不会随着时间的推移完全褪色为黑色

    我有一块黑色画布 里面画着东西 我希望里面绘制的东西随着时间的推移 按照绘制的顺序 先进先出 逐渐变成黑色 如果我使用尚未调整大小的画布 则此方法有效 调整画布大小时 元素会褪色为灰白色 问题 调整画布大小后 为什么白色斑点没有完全褪色为黑
  • 如何在ViewModel中玩Storyboard?

    我在 View 中定义了一个故事板
  • 海量设备/节点的距离计算

    I have N移动设备 节点 比如 100K 我定期获取它们的位置 纬度 经度 值 一些设备 逻辑连接 到大致M其他设备 比如 10 个 我的程序定期比较每个设备与其逻辑连接的设备之间的距离 并确定该距离是否在阈值内 例如 100 米 我
  • 在 iOS 中单击 UIButton 时如何将项目插入到 UITableView

    我一直在练习 tableViews 但我不知道如何在单击按钮时插入新项目 这就是我所拥有的 BIDViewController h import
  • 有什么作用!! R 中的运算符均值

    有人可以解释一下我们需要什么吗 or 运营商来自rlang 我尝试学习more关于准引用但没有得到任何东西 我已经在 Stack 上找到了几篇关于 curly curly 运算符的帖子 并且了解到我们使用 当我们将数据帧的变量 或对象的其他
  • 尝试编写一个简单的轮播

    我正在尝试构建一个简单的轮播 我知道有很多 但我更喜欢尝试找出答案 这是我的轮播代码 div class amnavigation div class previous lt div ul li icon li li icon li li
  • 将静态库答案放在 flash 部分的开头

    我正在使用 atmelstudio 编译固件映像 并希望将静态库 包括 gnu 的 libc a 和 libgcc a 中的函数放在 text 部分的开头 后面的 text 属于我的项目源代码 现在发生的情况恰恰相反 这是我的链接器脚本 A