乐鑫技术交流
直播中

ytrwv

9年用户 992经验值
擅长:EMC/EMI设计
私信 关注
[问答]

ESP8266 Arduino库中std::map的问题如何解决?

大家好。
我正在使用带有 ESP8266 库的 Arduino 1.6.5。我的目标是创建 String 映射以在 ESP 的 FS 中存储选项
我这样声明映射:
代码:全选typedef std::map Items;
Items items;

现在每种插入新键值对的方式
代码:全选items["key"]="value";


或者
代码:全选items.at("key")="value";


或者
代码:全选items.emplace("key","value");


所有导致相同的结果:
有人知道如何解决吗?

               


                        

回帖(1)

张国厚

2024-5-30 14:41:35
据我所知,ESP8266的库不支持STL(标准模板库)的std::map。您可以尝试使用其他映射实现,如Arduino自带的EEPROM或SD卡。

另外,使用String类型也可能会导致内存问题,因为ESP8266内存有限。您可以考虑使用字符数组(char array)来代替String,以降低内存使用量。

最后,如果您想继续使用std::map,您可以尝试使用其他Arduino板(如Arduino Due),因为它们支持STL库。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分