首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从另一个const char*创建const char*

从另一个const char*创建const char*
EN

Stack Overflow用户
提问于 2022-06-22 05:44:54
回答 1查看 125关注 0票数 0

我正在研发一种嵌入式医疗设备,有个小问题。我有两个独立的“应用程序组”,这意味着他们都是严格分开的,但仍然需要沟通。A组是安全区,B组是不安全小组,A组不能做任何事情,现在我的问题是:

在A组中,我创建了一个包含一些注射器信息的结构数组。

代码语言:javascript
复制
struct SyringeData{
    int cylinderFloorArea;
    int innerDiameter;
    int outerDiameter;
    int zeroPoint;
    const char* syringename;
    int volume;
    bool activate;
    bool selectSize;
};

在B组,我需要一个注射器的名字。两个组之间的通信是通过共享内存区域实现的。组B有一个使用名为LVGL的框架构建菜单的方法。在这里,我需要以下几点:

代码语言:javascript
复制
static const char* map[] __attribute__((section(".guiMem_data"))) = {"xxx", "\n", "yyy","\n", "zzz", "\n", "xyz", ""};

在从共享内存区域过滤了struct数组之后,我可能只需要其中几个就可以将它们放到上面列出的映射数组中。如何才能将一些结构注射器名的共享数组放到映射中,因为两者都是const *,并且无法在init之后修改它们。如果我是对的,我必须初始化const char*在开始时,这个映射数组必须在运行时被一次又一次地更改。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2022-06-22 08:56:53

static const char* map[]创建了一个指向只读内存(字符串)的指针数组。它将被分配到所有主流系统的RAM中。您可以像任何其他数组一样随时修改它。

只需做:map[i] = something;,其中something是分配到其他地方的字符串。如果您不存储指向map[i]之前指向的指针,则该数据现在将丢失。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72710229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档