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.

[参考译文] TMS320F28386S:可在不同的计算机上进行重现性构建。

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1430243/tms320f28386s-reproducible-builds-on-different-computers

器件型号:TMS320F28386S

工具与软件:

嗨、

在关于此主题的一个旧主题中、一位 TI 成员声明允许:

"TI 从未保证可重现的构建"

现在我需要在新计算机上设置开发环境。

我将确保安装相同版本的 CCS 和编译器。

不过、

如何知道内部版本是相同的?

我如何确保我的系统执行完全相同的测试?

无法从两个构建过程中获得准确的.out 文件使我非常害怕。

您有什么建议?

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

    请考虑术语"可重复构建"的含义。

    这是否意味着程序的行为不会改变?  每个编译器都保证实现源代码的行为。  如果没有、则会出现某种问题。  行为差异不一定意味着编译器出错了。  但这是一种可能的解释。

    这是否意味着生成的可执行文件与上一个文件位相同?  这是标准没有要求的。  TI 不会为此进行设计或测试。   

    谢谢。此致、

    -George.

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

    您好、George:
    感谢您的重播。


    我知道、TI 剂量不 保证具有相同的可执行文件。

    但是、请 尝试从我的角度来看待这个问题。

    一个项目已经经历了数百个小时的开发和 QA。

    现在、从不同的计算机构建项目、相同的 可执行文件将帮助我确保相同的代码正在运行。

    如果我没有这个,我怎么能确定从不同的计算机建立不会相互引出新的错误呢?

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

    在典型做法中、可以获得相同的编译。  以下是一些经常遵循的规则:

    • 所有源必须匹配
    • 编译器和其他工具必须匹配
    • 所有库必须匹配
    • 所有构建脚本(make 文件等)都必须匹配
    • 使用编译器选项 -- keep_asm .  有关说明、请参阅 此帖子。

    这并不是一份详尽的规则列表。 不可能生成任何此类清单。  也就是说,如果使用这些规则后,你不会得到相同的构建,我会有兴趣调查,以找出原因.

    谢谢。此致、

    -George.