This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 编译器/TMS320C6674:链接器命令文件中节说明符的优先级

Guru**** 2204280 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/639418/compiler-tms320c6674-priority-of-section-specifiers-in-linker-command-files

部件号:TMS320C6674

工具/软件:TI C/C++编译器

您好,

另一天,我遇到了8.2 连接器的一些意外行为,并附上了一个简单的CCS项目来演示它。 我的印象是(可能是错误的)“更具体”的输入部分说明符优先于链接程序命令文件中的“更具体”的输入部分说明符。 例如,在附加的项目中,我创建了一个链接程序命令文件,该文件将hello.obj (.const)分配给Group1,将hello.obj (.const:.string)分配给group2:

   ...

18  Group1 > Example_memory
19  {
20.     hello.obj (.const)
21.     hello.obj (.far)
  22 }
23.
24  group2 > example_memory
25  {
26.     hello.obj (.const:.string)
  27 }

   ...

当我编译和链接时,我发现第26行的节说明符覆盖第20行的说明符,因此常量字符串被分配给group2。 这是我所期待的。 但是,如果按如下所示更改链接程序命令文件并重新生成:

   ...

18  Group1 > Example_memory
19  {
20.     hello.obj (.const,.far)
  21 }
22.
23  group2 > example_memory
24  {
25.     hello.obj (.const:.string)
  26 }

   ...

...然后,您会发现第20行中的节说明符将覆盖第25行中的说明符,因此常量字符串将分配给Group1。 我希望这两个链接器命令文件的行为相同。 我希望有人能解释为什么这些链接器命令文件的行为不同;我自己找不到任何东西。

提前感谢!
戴夫

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    e2e.ti.com/.../1016.HelloWorld.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    由于我认为这是链接器中的一个错误,所以我在 SDOWP系统中提交了CodeGen-3918以进行调查。  但是,我比平时不太确定。  当输入部分名称写在一个规范中时,可能有一个很好的理由说明.const输入部分的处理方式不同。  欢迎您使用我签名中下面的SDOWP链接关注此条目。

    谢谢,此致,

    -George

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,George,感谢您提交问题。 我也有同样的感觉——这可能是一个错误,但也可能是预期的行为。 我将监控SDOWP问题并了解它的具体情况。

    此致,
    戴夫