小编Tom*_*omE的帖子

为什么链接描述文件有多个节命令?

我一直在阅读ld部分文档,但有些不清楚。

鉴于部分链接器脚本:

MEMORY
{
  FLASH1 (rx) : ORIGIN = 0x000FB000, LENGTH = 0x05000
  FLASH2 (r) : ORIGIN = 0x000FA000, LENGTH = 0x01000
}

SECTIONS
{
  .some_code :
  {
    KEEP(*(SORT(.some_code*)))
  } > FLASH1
}
SECTIONS
{
  .my_page :
  {
    KEEP(*(SORT(.my_page*)))
  } > FLASH2
}
Run Code Online (Sandbox Code Playgroud)

是否有理由在上述单个链接描述文件中包含 2 个部分命令,而不是将其全部包含在如下所示的 1 个部分命令中?

SECTIONS
{
  .some_code :
  {
    KEEP(*(SORT(.some_code*)))
  } > FLASH1
  .my_page :
  {
    KEEP(*(SORT(.my_page*)))
  } > FLASH2
}
Run Code Online (Sandbox Code Playgroud)

或者它们是等价的。还有其他情况您想像这样拆分吗?

附加说明:我要求有单独的“SECTIONS”命令(每个命令都有自己的部分定义块),而不是要求一般有单独部分的原因。

embedded ld

5
推荐指数
1
解决办法
1067
查看次数

标签 统计

embedded ×1

ld ×1