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.

[参考译文] 编译器/TM4C123FH6PM:C++中的常量结构

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/867106/compiler-tm4c123fh6pm-constant-structures-in-c

器件型号:TM4C123FH6PM

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

您好!

以下简单示例:

struct Test1{
const uint8_t;
const int i;
常量浮点 f;

test1 (int _i):t (0)、i (_i)、f (0){}
test1 (float _f):t (1)、I (0)、f (_f){}
};

const Test1 t1 t1 ((int) 12);
const Test1 t2 ((float) 12.5);


应创建常量对象、因为所有字段都是常量和构造函数为空、并且只是初始化字段、因此这是编译时定义(应为)。 实际上、在调试期间进行编译后、我看到这些对象位于 RAM 中、而不是闪存中、正如我所期望的那样。

我需要定义此类对象的常量数组(大数组)、因此我需要在闪存中使用它们。

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

    我尝试了一些不同的编译器。  TI 和 GCC。  ARM 而不是 ARM。  它们都不会以处理简单常量数组的相同方式处理这些 Test1结构的常量实例。  因此、通过直接试验的证明、我不幸地证明了您想要做的事情不受支持。

    谢谢、此致、

    乔治