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.

[参考译文] 编译器/DRA745:M4可执行文件包含使用旧版编译器编译的库-它们是否兼容?

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/588734/compiler-dra745-m4-executable-contains-libraries-compiled-with-old-compiler-version---are-they-compatible

部件号:DRA745

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

您好,

我们正在迁移到用于M4软件开发的CG工具编译器的16.9 .........................................2版本,但我注意到我们链接到的一些库是使用较早的编译器版本编译的,如4.6 .3和5.0。

$ armofd file.lib | grep Version
格式:ELF版本1
链接器版本:4.6 .................................3.
格式版本:'A'
Tag_Producer_VMajor 5 (Producer Major Version +1)
Tag_Producer_VMinor 7 (Producer次要版本+1)
Tag_Producer_VPatch 4 (Producer Patch Version +1)


$ armofd file.xem4 | grep版本
格式:ELF版本1
链接器版本:16.9 .................................2
格式版本:'A'
Tag_Producer_VMajor 17 (Producer Major Version +1)
Tag_Producer_VMinor 10 (Producer次要版本+1)
Tag_Producer_VPatch 3 (Producer Patch Version +1)

虽然编译,链接甚至运行时执行都没有问题,但我想检查一下这种不匹配是否正常。

编译器团队是否有处理此方案的建议?

此致

Karthik

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    通常,使用较旧的库应该是可以的。 在大多数情况下,如果存在潜在问题,链接程序将发出警告。

    如果将较旧的链接程序与较新的库一起使用,可能会出现问题;如果可能,请避免出现这种情况。

    但是,当链接到RTS库时,必须确保使用与链接程序版本匹配的版本。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢,这是明确的。

    请您提供更多有关这一点的信息吗?
    >但是,当链接到RTS库时,必须确保使用与链接程序版本匹配的版本。

    此致
    Karthik
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    链接器和RTS库共享一些特殊/未记录的符号以实现某些功能。 如果链接器中引入了新功能,则需要特殊符号存在于RTS库中,反之亦然。 如果您没有使用与链接程序版本完全相同的RTS库版本,则会有不匹配的风险。 大多数情况下,不匹配不会导致任何问题,但一旦很好,就会导致问题。 因此,TI仅支持使用与链接器版本完全相同的RTS库版本的情况。 这不是一个负担,因为您可以在同一个包中获得它们。

    另一方面,对于任何其他库,没有特殊/未记录的符号,因此这不是任何其他库的要求。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的详细信息。

    我理解你的观点。 对于当前方案,由于链接器和RTS库将来自相同的编译器软件包(TI CGT ARM 16.9 RTS.2),因此这不是问题。

    我注意到你提到的其他几点。

    此致

    Karthik