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.
工具/软件:TI C/C++编译器
您好!
我们的环境:TMS320F2812 DSP、CGT 6.2.0和 Code Composer Studio 版本5和6
将 code composer 5项目导入到 code composer 6环境后、编译操作不会产生 相同 的输出(ASCII S2输出不同)。
如果我们进一步查看生成的 ASM 或 MAP 文件、生成的代码似乎可以识别、但 某些 文件中的函数放置方式不同(请参阅下面的捕获)
工程从 基准发出、导入过程不发出警告、代码生成工具版本相同(6.2.0)、编译器选项相同(在 ASM 生成的标头中验证)
我们没有可用的 code composer 5环境、因此无法复制初始生成。
是否存在构建器问题? Makefile 生成问题? 初始 CCS 5编译参数可能已被 CCS 错误导入或错误导入? 它们如何影响文件内的函数顺序编译?
我还尝试使用 链接器的"-preferred_order"参数来恢复初始顺序、但没有成功。 此选项没有太多的文档。
是否有人遇到相同的问题?
提前感谢、
David Baltaro
[引用 user="David Baltaro"]将 code composer 5项目导入到 code composer 6环境后,生成操作不会生成 相同 的输出
CCS 或编译器不支持这一要求。 它没有记录行为。 我们没有针对它的测试。 话虽如此、我们将尝试回答您的问题。
David Baltaro 说:编译器选项相同(在 ASM 生成的标头中验证)
您的编译器选项必须相同、否则您可能无法像以前那样接近。 同样、我希望让您(以及阅读此线程的其他人)知道、这不足以证明编译器选项匹配。 编译器确实在汇编代码中包含注释、这些注释显示了使用的关键编译选项。 但是、它并不显示所有构建选项。 为此、您需要保留构建日志。
我不知道为什么 CCSv6下的编译略有不同。 一个猜测... 链接器看到所有内容、尤其是目标文件和库的顺序必须相同。 更改 CCS 版本可能会导致链接器看到这些输入的顺序稍有不同。 因为...
[引用 user="David Baltaro"]我们没有可用的 code composer 5环境
(笑声) 我怀疑无法知道如何在 CCSv5下调用链接器。
谢谢、此致、
乔治
[引用 user="David Baltaro"]并且在5个超过100的文件中,函数顺序不同。
就在这些文件中、编译器生成的函数的顺序是不同的? 如果正确、则差异会由于编译器而不是链接器而出现。
[引用 user="David Baltaro">以前环境与实际环境之间的其余差异是系统版本 Windows XP 32位与7 64位。
它对构建过程有影响吗? [/报价]
如果它确实起作用、我将无法解释它。
6.2.0版编译器使用了大约6年。 我有一个模糊的存储器、其中包含一些有关编译器优化器阶段中的不稳定类型的错误报告。 我通过我们的错误数据库进行了搜索、但找不到任何内容。 有这样一个编译器错误仍然是合理的猜测、并且已经修复。
什么是不稳定类型? 在排序时、您需要对两个东西进行同等比较时发生的情况制定"稳定"的策略。 否则、随机选择会导致该类型"不稳定"或不可预测。 当发现此类类型时、它们会被视为错误并被修复。
谢谢、此致、
乔治