工具/软件: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。 我希望这两个链接器命令文件的行为相同。 我希望有人能解释为什么这些链接器命令文件的行为不同;我自己找不到任何东西。
提前感谢!
戴夫