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.
工具/软件: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。 我希望这两个链接器命令文件的行为相同。 我希望有人能解释为什么这些链接器命令文件的行为不同;我自己找不到任何东西。
提前感谢!
戴夫
由于我认为这是链接器中的一个错误,所以我在 SDOWP系统中提交了CodeGen-3918以进行调查。 但是,我比平时不太确定。 当输入部分名称写在一个规范中时,可能有一个很好的理由说明.const输入部分的处理方式不同。 欢迎您使用我签名中下面的SDOWP链接关注此条目。
谢谢,此致,
-George
您好,George,感谢您提交问题。 我也有同样的感觉——这可能是一个错误,但也可能是预期的行为。 我将监控SDOWP问题并了解它的具体情况。
此致,
戴夫