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.

[参考译文] TMS320C6748:cl6x 的 Windows 版本会创建与 Linux 版本不同的.obj 文件

Guru**** 2460850 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1479944/tms320c6748-windows-version-of-cl6x-creates-different-obj-files-than-linux-version

器件型号:TMS320C6748

工具与软件:

我今天刚刚发现、cl6x 版本8.3.12的 Windows 版本创建了.obj 文件、其中包含一个 GUID 符号。 每次我编译时,这个 GUID 都会改变,这使得几乎不可能有确定性的、可重复的构建。 使用 Linux 下的相同设置编译时、目标文件不包含 GUID。

  • 为什么 cl6x 的 Windows 版本与 Linux 不同?  
  • 此 GUID 有什么用途?  
  • 我如何将其删除、以便在重新编译相同代码时、我获得完全相同的.obj 文件?

提前感谢您。  

相关选项:  cl6x -mv6740 --abi-eabi -O1 --symdebug:none   

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

    编译器会通过多个步骤生成代码。  其中一个步骤是在临时文本文件中生成汇编代码。  此临时文件的名称以符号形式输入。  在 Windows 上、此名称是 UUID (通用唯一标识符)、类似于 {B2D42F93-8B44-48A9-B586-CF75246FF286}。  在 Linux 和 macOS 上、此临时文件名会以不同的方式自动生成。  一个典型的示例是 TI2SiVRuPgi。   

    Unknown 说:
    确定性、可重复的版本

    ...并不是 任何 TI 编译器明确支持的要求。  任何标准都不要求此功能。  文档中未提及。  没有针对它的测试。  尽管如此、它通常是可以实现的。  对于大多数客户来说、您在这里发现的问题是唯一的问题。

    谢谢。此致、

    -George.