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.

[参考译文] 编译器/TCI6636K2H:编译器C6000_CNU_3 8.1 缺少_GNUC_符号

Guru**** 2564565 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/594860/compiler-tci6636k2h-compiler-c6000_8-1-3-missing-_gnuc_-symbols

部件号:TCI6636K2H

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

你(们)好

我以前使用过编译器版本7.4 17

它具有以下GNUC符号

_GMNU_= 3

_Gnu_Minor = 0

如果我将编译器版本更改为8.1 Tm,我会得到以下信息:

_GNU_GNU_INLINE = 1.

_Gnu_Minor = 3

_Gnu_PATCHLEVEL = 0

许多代码都依赖于预处理程序_GNUC_

我可以做些什么来获得它(除了自己定义它)

如果我只想自己定义它是一个选项,那么:什么是GNUC版本? 用于此编译器

我还注意到,我的一些项目没有显示所有内置符号(即使显示内置符号已打开),但这些符号已定义。 我签入了代码。 为什么?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果需要使用,您需要自己定义__GNUT__。 我们的结论是,常见的做法使用这些宏意味着"这真的是GCC,或者这是一个完美的克隆,并不重要。" TI编译器的情况并非如此,因此我们不再定义__GNUT__。 我们也不应该定义__GNUC_MINOR__或__GNUC_PATCHLEVEL__,这是一个错误。

    如果使用选项--preproc_macros (-ppm)编译一个空白的C文件,您将获得一个显示所有预定义宏的.pp文件。 特别感兴趣的是__version__;对于C6000 8.1 .3,它说:
    #define __version__“EDG gcc 4.3 模式”
    对于C6000 7.1 .14,它是:
    #define __version__“EDG gcc 3.0 模式”

    请注意,TI编译器不会精确模拟gcc 4.3 ,因此您不能指望在GCC 4.3 和TI编译器之间可以移植100 %。

    很抱歉,我不确定您所说的"显示所有内置符号"是什么意思。 这是Code Composer代码视图窗口中的内容吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我还注意到,我的一些项目没有显示所有内置符号(即使已打开显示内置符号),但是这些符号是定义的。 我签入了代码。 为什么?[/QUOT]您使用的是哪个版本的CCS,您在Windows或Linux下运行的是CCS?

    我以前见过这个问题,CCS索引器不会拾取编译器的预定义符号。

    上次在Windows下运行CCS时,我在CCS 6.2 .0.0.005万 中发现问题,但在CCS 7.1 .0.0.0016万 中发现问题-请参阅 https://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/58.9392万

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

    这是Code Composer代码视图窗口中的内容吗?

    我假定它是以下属性,是高级设置的一部分:

    其中,上述预定义符号列表是由CCS执行命令以使编译器报告内置符号而生成的,CCS索引器随后使用内置符号列表。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    嗯... 好的,你能给我一个应该出现但没有出现的符号的例子吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    下面是两个项目的快照,它们非常相似,但其中一个项目中显示的预处理程序值在另一个项目中缺失

    我认为这与其说是一个真正的问题,更像是一个视觉问题,因为整个项目中显示的预处理程序也是在缺失的项目中定义的,它们只是没有显示

    这是一个项目示例,该项目看起来缺少符号

    使用:

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

    此主题将移至Code Composer Studio论坛以进行进一步讨论。

    谢谢,此致,

    -George