gpt4 book ai didi

c++ - 从存储在 ESP8266 中的 SPIFFS 中的变量设置全局对象

转载 作者:行者123 更新时间:2023-11-30 05:30:50 24 4
gpt4 key购买 nike

我以前就是这样设置这个全局对象的。

MqttClient mqtt("192.168.1.8", 1883, msgRev);

我想检索存储在 spiffs 中的 IP 地址,并用它来声明这个全局对象。

MqttClient mqtt(AppSettings.MQTTUWL, 1883, msgRev); 

AppSettings 包含 spiff 的结构。

这是我的 init(),

void init()
{
spiffs_mount(); // Mount file system, in order to work with files
AppSettings.load();
//...
}

问题是在目标代码声明期间,AppSettings 尚未加载。我应该如何声明全局对象,以便它能够从 AppSettings 中检索值?

我在 ESP8266 上使用 SMING 框架。

最佳答案

您必须将 MqttClient 声明为指针,并在安装 SPIFFS 后对其进行初始化,或者将 SPIFFS 安装代码放入客户端类的构造函数中(这可能不是您想要的想要)。

要执行前者,您的代码将如下所示:

MqttClient *mqtt;

void init()
{
spiffs_mount(); // Mount file system, in order to work with files
AppSettings.load();
mqtt = new MqttClient(AppSettings.MQTTUWL, 1883, msgRev);
//...
}

这只会在安装完成后创建客户端。

关于c++ - 从存储在 ESP8266 中的 SPIFFS 中的变量设置全局对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35793246/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com