2017-09-06 52 views
0

大量的Web/HTTP上的Arduino基础库带着自己的预定义的Web内容,如修改静态变量的Arduino库

static const char serverIndex[] PROGMEM = 
    R"(<html><body>....</body></html>)"; 

除了修改库有没有办法直接干预变量内容在节目素描?

问候,

回答

0

您可以更改静态类属性像任何其他,但你不能改变存储在PROGMEM数据。这就是为什么这个变量也被解析为const的原因。

PROGMEM数据存储在闪存中,是草图二进制文件的一部分。

一个可能的解决方案是使用SPIFFS但这需要更改库代码。

另一个解决办法是写自己的派生类:看Are static variables in a base class shared by all derived classes?

但是,这是一个很大的混乱,这样恕我直言,它更容易只是改变原来的类。

+0

我的意思是在编译时,就像覆盖声明/定义本身一样,以至于它会占用我的。 – Luigi

+0

在编译时不可能有两个相同变量名的定义(你的和他们的)。由于arduino库通常是开源的,因此您可能希望获取库源并根据需要对其进行修改。 –