如何通过链接描述文件将符号放置在特定地址处?

2024-02-15

这是关于 GNU Linker 的。

我有一个(可以说)名为的变量myVar。现在我希望我的变量被放置在内存中的某个地址。

我使用的编译器有一个__attribute__ ((blablabla))这样就可以了。不过我决定使用链接描述文件。

从现在开始,我设法将变量放置在链接器脚本中的某个地址处,如下所示:

myVar  = 0xDEAD;

它确实有效。问题是链接器很愚蠢,偶尔会在我的地址上部署其他变量。两者在某种程度上都表现得像是在union.

我认为我需要以某种方式告诉链接器这个长度的地址已被占用,不应该被触及。

无论如何,我想你明白了。有什么帮助吗?


我将开始合并 c 源代码和链接器。

在链接器脚本中定义一个新部分,例如:

MEMORY
{
  ...
  my_data       (rwx) : ORIGIN = your_start_addr, LENGTH = section_length
}

SECTIONS
{
  /* ... */

  .myVarSection section_address :
  {
    KEEP(*(.mySection)) 
  } > my_data

  /* ... */
}

然后您可以在源文件中定义变量,如下所示:

uint16_t __attribute__((section (".mySection"))) myVar = 0xDEAD;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过链接描述文件将符号放置在特定地址处? 的相关文章

  • 每个托管线程是否都有自己对应的本机线程?

    我想知道是否在 Net 中创建托管线程 通过调用Thread Start 导致在后台创建一个本机线程 那么托管线程是否有对应的本机线程呢 如果是 当托管线程等待或睡眠时 是否意味着相应的本机线程也在等待或睡眠 是的 NET 线程映射到所有当
  • 如何在 .NET Framework 2.0 中模拟“Func<(Of <(TResult>)>) 委托”?

    我尝试使用这个类代码项目文章 http www codeproject com KB threads AsyncVar aspx在 VB NET 和 NET Framework 2 0 中 除了这一行之外 所有内容似乎都可以编译Privat
  • 确保 StreamReader 不会挂起等待数据

    下面的代码读取从 tcp 客户端流读取的所有内容 并且在下一次迭代中它将仅位于 Read 上 我假设正在等待数据 我如何确保它不会在没有任何内容可供读取时返回 我是否必须设置低超时 并在失败时响应异常 或者有更好的办法吗 TcpClient
  • ClickOnce 应用程序错误:部署和应用程序没有匹配的安全区域

    我在 IE 中使用 FireFox 和 Chrome 的 ClickOnce 应用程序时遇到问题 它工作正常 异常的详细信息是 PLATFORM VERSION INFO Windows 6 1 7600 0 Win32NT Common
  • 复制 std::function 的成本有多高?

    While std function是可移动的 但在某些情况下不可能或不方便 复制它会受到重大处罚吗 它是否可能取决于捕获变量的大小 如果它是使用 lambda 表达式创建的 它依赖于实现吗 std function通常被实现为值语义 小缓
  • 错误:表达式不产生值

    我尝试将以下 C 代码转换为 VB NET 但在编译代码时出现 表达式不产生值 错误 C Code return Fluently Configure Mappings m gt m FluentMappings AddFromAssemb
  • 在 C 中匹配二进制模式

    我目前正在开发一个 C 程序 需要解析一些定制的数据结构 幸运的是我知道它们是如何构造的 但是我不确定如何在 C 中实现我的解析器 每个结构的长度都是 32 位 并且每个结构都可以通过其二进制签名来识别 举个例子 有两个我感兴趣的特定结构
  • 当我们想要返回对象的引用时,为什么我们在赋值运算符中返回 *this 而通常(而不是 this)?

    我正在学习 C 和指针 我以为我理解了指针 直到我看到这个 一方面 asterix 运算符是解引用的 这意味着它返回值所指向的地址中的值 而与号 运算符则相反 它返回值存储的地址记忆 现在阅读有关赋值重载的内 容 它说 我们返回 this因
  • 单个对象的 Monogame XNA 变换矩阵?

    我读过一些解释 XNA Monogame 变换矩阵的教程 问题是这些矩阵应用于 SpriteBatch Begin matrix 这意味着所有 Draw 代码都将被转换 如何将变换矩阵应用于单个可绘制对象 就我而言 我想转换滚动背景 使其自
  • 如何创建包含 IPv4 地址的文本框? [复制]

    这个问题在这里已经有答案了 如何制作一个这样的文本框 我想所有的用户都见过这个并且知道它的功能 您可以使用带有 Mask 的 MaskedTestBox000 000 000 000 欲了解更多信息 请参阅文档 http msdn micr
  • 如何区分用户点击链接和页面自动重定向?

    拥有 C WebBrowser control http msdn microsoft com en us library system windows forms webbrowser aspx在我的 WinForms 应用程序中 并意识
  • Azure 辅助角色“请求输入之一超出范围”的内部异常。

    我在辅助角色中调用 CloudTableClient CreateTableIfNotExist 方法 但收到一个异常 其中包含 请求输入之一超出范围 的内部异常 我做了一些研究 发现这是由于将表命名为非法表名引起的 但是 我尝试为我的表命
  • 如何设置 log4net 每天将我的文件记录到不同的文件夹中?

    我想将每天的所有日志保存在名为 YYYYMMdd 的文件夹中 log4net 应该根据系统日期时间处理创建新文件夹 我如何设置它 我想将一天中的所有日志保存到 n 个 1MB 的文件中 我不想重写旧文件 但想真正拥有一天中的所有日志 我该如
  • 使用 C# 读取 Soap 消息

  • 不同类型指针之间的减法[重复]

    这个问题在这里已经有答案了 我试图找到两个变量之间的内存距离 具体来说 我需要找到 char 数组和 int 之间的距离 char data 5 int a 0 printf p n p n data 5 a long int distan
  • 方法优化 - C#

    我开发了一种方法 允许我通过参数传入表 字符串 列数组 字符串 和值数组 对象 然后使用这些参数创建参数化查询 虽然它工作得很好 但代码的长度以及多个 for 循环散发出一种代码味道 特别是我觉得我用来在列和值之间插入逗号的方法可以用不同的
  • 如何部署“SQL Server Express + EF”应用程序

    这是我第一次部署使用 SQL Server Express 数据库的应用程序 我首先使用实体 框架模型来联系数据库 我使用 Install Shield 创建了一个安装向导来安装应用程序 这些是我在目标计算机中安装应用程序所执行的步骤 安装
  • WebSocket安全连接自签名证书

    目标是一个与用户电脑上安装的 C 应用程序交换信息的 Web 应用程序 客户端应用程序是 websocket 服务器 浏览器是 websocket 客户端 最后 用户浏览器中的 websocket 客户端通过 Angular 持久创建 并且
  • 当从finally中抛出异常时,Catch块不会被评估

    出现这个问题的原因是之前在 NET 4 0 中运行的代码在 NET 4 5 中因未处理的异常而失败 部分原因是 try finallys 如果您想了解详细信息 请阅读更多内容微软连接 https connect microsoft com
  • 如何将 PostgreSql 与 EntityFramework 6.0.2 集成? [复制]

    这个问题在这里已经有答案了 我收到以下错误 实体框架提供程序类型的 实例 成员 Npgsql NpgsqlServices Npgsql 版本 2 0 14 2 文化 中性 PublicKeyToken 5d8b90d52f46fda7 没

随机推荐

  • 在 Docker 中使用卷访问容器文件系统

    我是 Docker 的新手 正在尝试让卷正常工作 但有些事情不太正确 我已经在 Docker 上安装了 Wordpress 如 Docker 教程中所述 https docs docker com compose wordpress htt
  • 从包类型扩展命名空间

    我在这里尝试从包类型扩展命名空间 typings fullcalendar
  • Git 推送和弹出?即,结帐最后状态

    我正在编写一个 Bash 脚本 我想签出一个标签 然后签回到我开始的地方 I tried git co HEAD 1 但是当从 master 开始时 这会让我回到 master 的提交 SHA 但头是分离的 有没有类似的东西pushd po
  • 有没有办法安装 jar 本地 gradle 存储库,就像在 mave 中一样(maven install:install-file [重复]

    这个问题在这里已经有答案了 我以前只使用 maven 当项目需要一些在任何存储库中都没有的 jar 时 我可以使用以下命令安装它 mvn install install file Dfile
  • WIX 错误 - ICE03:不是有效的外键

    目前使用 WIX v3 6 3303 开发安装程序项目 我们正在使用 CruiseControl 在发布前自动构建和测试各种更改 这是我们从测试构建中返回的错误 errorLGHT0204 ICE03 Not a valid foreign
  • PyQt 的优雅命令行参数解析

    我正在编写一个新的 PyQt 应用程序 我正在尝试使用尽可能多的 PyQt API 来完成与程序和 ui 相关的所有事情 作为提高我对 PyQt 和 Qt 总体知识的一种手段 我的问题是 PyQt Qt 中是否有 API 可以优雅地处理命令
  • 在开发过程中绕过或关闭 [Authorize(Roles="")]?

    构建 MVC3 应用程序 TPTB 希望我们使用他们的自定义授权提供程序 然而 在开发过程中 这个身份验证提供程序有点麻烦 因为它要么在您关闭 重新启动浏览器之前给出错误 要么要求您在每次编译时重新登录 现在 我只是添加了
  • 查询范围不等于0

    我在 AX 2012 R2 环境中 我想向 HcmEmployment 表添加查询范围并过滤掉 LegalEntity 值 0 的行 以下代码在运行时失败 并出现 无效范围 异常 qbrLegalEntity qbds addRange f
  • 引用列的统计信息是否会阻止删除该列?

    我正在尝试一个非常简单的drop column陈述 alter table MyTable drop column MyColumn 并收到几个错误 消息 5074 16 级 状态 1 第 1 行统计信息 dta stat 12682516
  • QML 中日期和时间的正则表达式(DD/MM/YYYY hh:mm:ss)

    在QML2中我没有找到任何Calender控件 我已经实现了一个以日期和时间作为输入的控件 并且我使用正则表达式进行验证 该验证与日期 包括闰年和其他验证 相匹配 主要问题是空格 退格键也应该被视为有效 例如 s s s s s s s s
  • Flexbox - 首先在新行上换行中心项目

    我正在使用 Flex Box 创建传统的浮动项目列表 我有三个项目 结构如下 section div item one div div item two div div item three div section 与CSS section
  • Bash:将来自多个 xargs 并行进程的标准输出记录到单独的日志文件中

    我正在处理一个文本文件 其中包含由 xargs 生成的多个并行进程 我还需要将每个进程的标准输出捕获到单独的日志文件中 下面是一个示例 其中每个进程的输出被交错到一个文件中 这不是我想要的 理想情况下 每个日志文件应按文件行号进行编号 即
  • Tiff 中的 Jpeg(jpeg 压缩)

    如何从 JPEG 压缩的 TIFF 文件中提取图像 我已根据 StripOffests 和 StripBytesCount 字段读取字节 但无法从中加载图像 旧式 TIFF JPEG 压缩类型 6 基本上将普通 JFIF 文件填充到 TIF
  • Haven::read_sav 显示值标签而不是代码

    我在用着haven导入一个 sav文件到R 我想知道如何显示值标签而不是数字代码 在下面的示例中 我想显示物种名称而不是数字 1 2 3 library haven path lt system file examples iris sav
  • 如何使用交错的 Huggingface 数据集创建 PyTorch 数据加载器?

    当我交错数据集 获取标记化批次 将批次提供给 pytorch 数据加载器时 我收到错误 coding utf 8 issues with dataloader and custom data sets Automatically gener
  • Ant:如果目录不存在,如何忽略构建错误?

    我正在使用 Ant 1 8 1 如果目录不存在 如何忽略以下构建错误 我得到的错误是 BUILD FAILED Users davea myco2 myco build xml 211 Directory does not exist Us
  • 路由前的角度动画

    在我当前的项目中 我试图摆脱路由时跳过的 Angular 动画 在我的模板中 我有不同的 小部件 mat card在 css grid 布局中 我想让它平滑地出现和消失 我的子组件中的动画 路线指向的 看起来像 animations tri
  • `JTableHeader` 可以跨越多个列吗?

    我花了很长时间寻找这个 但我只找到了GroupableHeader代码 我需要 2 列中的 2 列上有一个标题JTable 如果不使用臭名昭著的方法 如何才能做到这一点 GroupableHeader 同时保持 JTableHeader 的
  • 如何在 R 中引用查找表将两个 data.frame 合并在一起

    我正在尝试合并两个data frames一起 基于每个中的公共列名称称为series id 这是我的合并语句 merge test growth series LUT test growth series by intersect seri
  • 如何通过链接描述文件将符号放置在特定地址处?

    这是关于 GNU Linker 的 我有一个 可以说 名为的变量myVar 现在我希望我的变量被放置在内存中的某个地址 我使用的编译器有一个 attribute blablabla 这样就可以了 不过我决定使用链接描述文件 从现在开始 我设