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.

[参考译文] CODECOMPOSER:[错误]__ cplusplus 在 C 语言编译时定义

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1344891/codecomposer-bug-__cplusplus-is-defined-when-compiling-in-c

器件型号:CODECOMPOSER

您好!

我正在尝试在编译时检测 TI 编译器和平台属性。
语言、字节序、架构(32位)、编译器等

我有2个问题:

1.即使是使用 C 编译器编译(使用 --C11标志), _ cplusplus 符号仍然被定义,这会中断所有的检测逻辑。
  如何检测 TI 编译器中是否使用了 C 或 C++?  

2.它显示为 __byte_order__ 并且 __byte_order 不是由编译器定义的。  
  如何在编译时检测字节序?

以下是有关我的编译器的更多信息:

此致、

加布里埃尔

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

    似乎此错误出现在过去: sir.ext.ti.com/.../EXT_EP-9550

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

    要查看相关文档、 请搜索 TI ARM 编译器手册 中标题为" 预定义宏名称"的子章节。  考虑使用此选项 -- preproc_macros 以查看所有预处理器符号。   

    即使我使用 C 编译器进行编译(使用 --C11标志)、  仍会定义_cplusplus 符号来中断所有检测逻辑。
      如何检测 TI 编译器中是否使用了 C 或 C++?  [/报价]

    要查看编译器如何确定当前文件是否包含 C    语言或 C++源代码、请搜索 TI ARM 编译器手册中标题为"指定文件名"的子章节。  进而决定电压噪声 __ cplusplus 是否已定义。   

    [quote userid="550002" url="~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1344891/codecomposer-bug-__cplusplus-is-defined-when-compiling-in-c 如何在编译时检测字节序?

    使用预定义符号  _小端字节序__

    此错误似乎出现在过去: sir.ext.ti.com/.../EXT_EP-9550

    该错误特定于 Code Composer Studio 内置的编辑器。  它与编译器无关。

    谢谢。此致、

    -乔治

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

    感谢您的回答、George。

    使用预定义符号  _小端字节序__

    [/报价]

    这完全解决了我的问题。 谢谢

    这反过来决定了是否 __ cplusplus 是否已定义。   [/报价]

    进行了调查。 问题是 code composer studio lining。 编译正确、只是没有突出显示代码。  

    [/quote]