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.

[参考译文] TM4C1290NCPDT:C++编译器问题-在编译时填充一个地址数组。

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1438777/tm4c1290ncpdt-c-compiler-question---populating-an-array-of-addresses-at-compile-time

器件型号:TM4C1290NCPDT

工具与软件:

我有一个图形包、用于显示列表框需要一组指向要在每行中显示的 C 字符串的指针。  我要显示的字符串数组是动态创建的、因此我需要填充一个固定长度的字符串数组、然后使用每个字符串的地址动态填充一个数组:

char* pListBuff[size];

char  ListBuff[size][charsPerString];

由于 ListBuff 中每个字符串的地址在编译时都是已知的、所以编译器中是否有方法可以创建: const char* pListBuff[size];?

谢谢!

道格

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价用户 id="333787" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1438777/tm4c1290ncpdt-c-compiler-question---populating-an-array-of-addresses-at-compile-time "]

    由于 ListBuff 中每个字符串的地址在编译时都是已知的、所以编译器中是否有方法可以创建: const char* pListBuff[size];?

    [报价]

    尊敬的 Doug:  

     我想您是在问 C 语言问题、而不是 MCU。 不是字符串操作方面的专家、但我 认为以下方法应该可行。  

    char * pListBuff[3]=
    "Apple"
    "橙色"、 
    "番茄" 
    }; 
    
    
    pListBuff[0]="Pear";//从 Apple 更改为 Pear。 需要确保新字符串的长度不长于已初始化的字符串 
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Charles

    这是一个 CCS 编译器问题、但当我开始新的查询时、它需要器件型号并迫使我进入 ARM 线程。

    是的、我可以做的是:

    Char List[200][20];  //由 200个字符串组成的数组。

    const char* plist[200]={&List[0]、&List[1]、&List[2]……&List[199]}; //指向20个字符串的指针数组。

    但我希望有一些编译器扩展、允许我通过算法来实现此目的、而不必键入地址列表。

    谢谢

    道格

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

    尊敬的 Doug:

     我不确定您所指的编译器扩展名是什么、但我会将您的博文传递给我们的编译器专家以征求意见。  

x 出现错误。请重试或与管理员联系。