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

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(使用前将#替换为@)

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

  • 高级 Win32 图像文件 I/O?

    我想在 Windows C 应用程序中将图像文件读入内存 什么是一个相当简单的解决方案 也许类似于 IOS 提供的UIImage 我希望支持合理数量的文件格式 我需要为图像处理的位图提供一些低级访问权限 我在互联网上阅读了很多内容 看起来
  • 如何向 UWP 项目添加 .NET dll 引用?

    我有几个适用于 NETv4 x 的 NET dll 项目 我将版本更改为 4 6 1 并重新构建 没有出现问题 当我尝试从 UWP 项目向它们添加引用时 出现错误 项目的目标是 NETCore 而文件引用的目标是 NET框架 这不是受支持的
  • 在 Windows Phone 上启动 pdf 文件时出现 System.Runtime.InteropServices.COMException

    我正在尝试使用我之前在另一个应用程序上使用过的以下工作代码打开 pdf 文件 但这一次 当流程到达此行时 我收到 System Runtime InteropServices COMException Windows System Laun
  • Linq Where 本地计数器关闭在 VS watch 中的结果不同

    我尝试删除前 3 个元素array与 LinQWhere扩展功能 这是一个例子 var array new 1 2 3 4 5 6 7 8 9 var count 3 var deletedTest1 0 var test1 array W
  • 字节到二进制字符串 C# - 显示所有 8 位数字

    我想在文本框中显示一个字节 现在我正在使用 Convert ToString MyVeryOwnByte 2 但是 当字节开头有 0 时 这些 0 就会被删除 例子 MyVeryOwnByte 00001110 Texbox shows g
  • 对数字进行向上和向下舍入 C++

    我试图让我的程序分别向上和向下舍入数字 例如 如果数字是3 6 我的程序应该四舍五入最接近的数字 4 如果该数字是3 4 它将向下舍入为 3 我尝试使用ceil库获取 3 个项目的平均值 results ceil marks1 marks2
  • 通过 mpi 发送 c++ std::vector

    我知道存储一个std vector
  • 如何检测斑点并将其裁剪成 png 文件?

    我一直在开发一个网络应用程序 我陷入了一个有问题的问题 我会尝试解释我想要做什么 在这里您看到第一个大图像 其中有绿色形状 我想要做的是将这些形状裁剪成不同的 png 文件 并使它们的背景透明 就像大图像下面的示例裁剪图像一样 第一张图像将
  • C#:使用 System.Text 和 System.Text.RegularExpressions 之间的区别

    在 ASP NET C 应用程序中 我注意到为了使用 Regex 和 StringBuilder 我必须将两者都放在 using System Text using System Text RegularExpressions 从简单的角度
  • 当格式字符串包含“{”时,String.Format 异常

    我正在使用 VSTS 2008 C Net 2 0 执行以下语句时 String Format 语句抛出 FormatException 有什么想法是错误的吗 这是获取我正在使用的 template html 的位置 我想在 templat
  • 在生产者-消费者情况下使用条件变量

    我正在尝试了解条件变量以及如何在生产者 消费者情况下使用它 我有一个队列 其中一个线程将数字推入队列 而另一个线程从队列中弹出数字 当生产线程放置一些数据时 我想使用条件变量向消费线程发出信号 问题是有时 或大多数时候 它只将最多两个项目推
  • C#:如何使用 SHOpenFolderAndSelectItems [重复]

    这个问题在这里已经有答案了 有人可以举例说明如何使用 shell 函数吗SH打开文件夹并选择项目 http msdn microsoft com en us library bb762232 VS 85 aspx来自 C 我不太明白如何使用
  • 标准 C 中的 sizeof 与 sizeof()? [复制]

    这个问题在这里已经有答案了 我看到一些直接使用 sizeof 的代码 想知道它是否是标准 C 令我惊讶的是 它运行得很好 这是一个例子 include
  • 如何在 C++ 中使用 PI 常数

    我想在一些 C 程序中使用 PI 常数和三角函数 我得到三角函数include
  • 如何从枚举中选择随机值?

    给定 C 中的任意枚举 如何选择随机值 我没有找到这个非常基本的问题 我会在一分钟内发布我的答案作为任何人的参考 但请随意发布你自己的答案 Array values Enum GetValues typeof Bar Random rand
  • 删除对象时指针自动指向空

    假设我有一个对象和其他几个不同类类型的对象中的 10 个指向它的指针 如果对象被删除 这些指针必须设置为空 通常我会将对象的类与具有指向它的指针的类互连 以便它可以通知它们它正在被删除 并且它们可以将它们的指针设置为空 但这也有一个负担 即
  • 在 unix 中编译 dhrystone 时出错

    我是使用基准测试和 makefile 的新手 我已经从下面的链接下载了 Dhrystone 基准测试 我正在尝试编译它 但我遇到了奇怪的错误 我尝试解决它 但没有成功 有人可以帮助我运行 dhrystone 基准测试吗 以下是我尝试编译的两
  • 如何使用 g++ 在 c++ 20 中使用模块?

    我读了这个链接https gcc gnu org wiki cxx modules https gcc gnu org wiki cxx modules并尝试从该网站复制以下示例 我已经知道这个编译器部分支持模块系统 注 我用的是windo
  • 局部静态变量初始化是线程安全的[重复]

    这个问题在这里已经有答案了 假设我有一个包含三个静态函数的类 如下所示 include
  • 如何使复选框不可选择?

    我想知道你是怎么做的CheckBox在c 中无法选择 我认为这会是类似 SetSelectable false 之类的东西 但我似乎看不到该方法 I found CanSelect但这似乎是只读属性 您可以设置自动检查 http msdn

随机推荐

  • 在 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 这样就可以了 不过我决定使用链接描述文件 从现在开始 我设