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.

[参考译文] AM2434:发布和调试库构建

Guru**** 2393095 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1495923/am2434-release-and-debug-library-build

器件型号:AM2434

工具与软件:

大家好、团队成员:

您能告诉我这两者之间的区别吗 软件库 构建(发布和调试)?

我知道发布和调试之间存在差异 项目 编译器优化、预处理和后处理选项等编译、但的调试版本和发布版本之间有何区别 一键库 ,如下面的库。

(仅发布版本如下所示)

ethercat_slave_bkhf_ssc.am243x_evm_r5f.ti-arm-clang.release.lib

ethercat_slave.am243x_evm.r5f.ti-arm-clang.release.lib

此致、

Mari Tsunoda.

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

    Mari、您好!  

    我正在与另一位能够更好地评论您的问题的团队成员联系。 请预计可能会延迟回复。

    -道林

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

    Tsunoda-San、

     发布项目和调试项目之间的同样差异也适用于库构建。 在示例工程中、版本编译将挑选库的版本(优化)、并相应地用于调试编译。

    此致、
    亚伦

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

    您能给我更详细的介绍一下发布库和调试库之间的区别吗?

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

    Tsunoda-San、

    版本(-OS)和调试编译(-O0)之间的一些差异:

    调试(-O0)

    • 编译器不会执行任何优化、生成的代码本质上是对源代码的直接转换。 这意味着代码没有针对性能、大小或任何其他标准进行优化。
    • 生成的二进制文件大小通常更大、由于缺乏优化、运行速度可能会更慢。
    • 但是、此模式对于调试很有用、因为代码更易于逐步执行和理解。
    • 编译器还将包括调试信息、例如符号表和行号、这些信息对于调试很有用。

    版本(-OS):

    • 编译器针对最小的大小优化了代码、从而使二进制文件更小、性能更好。
    • 当代码大小是一个关键因素时(例如使用有限的存储器时)、该模式很有用。
    • 编译器将使用一些技术来执行优化、例如删除不必要的代码和数据、使用较小的指令序列来消除冗余代码。
    • 调试发布模式的构建将非常困难、因为您将无法按顺序单步执行代码、因为整个流程会错综复杂。

    我希望这能解答您的疑问。

    此致、
    亚伦