esp8266的问题可以放在这里讨论吗?

q515949148
Posts: 17
Joined: Wed Jul 25, 2018 8:11 am

esp8266的问题可以放在这里讨论吗?

Postby q515949148 » Wed Mar 27, 2019 7:20 pm

esp8266貌似没有中文官方论坛?
最近发现8266的编译器貌似有个异常现象(会导致lambda内捕获到异常的this指针,貌似是lambda捕获的第一个变量的值被改变了)
然后发现我的esp8266的论坛(bbs.espressif.com)登不上去了。。用重置的密码也提示密码错误。。
Last edited by q515949148 on Wed Mar 27, 2019 7:27 pm, edited 2 times in total.

q515949148
Posts: 17
Joined: Wed Jul 25, 2018 8:11 am

Re: esp8266的问题可以放在这里讨论吗?

Postby q515949148 » Wed Mar 27, 2019 7:24 pm

异常代码如下(这是个类的成员函数)
void begin(std::function<void()> cb) {
CappActive* temp0 = this;
_s->moveto(Servo_max, [this, temp0, cb] {
this->_s->moveto(target[id()][1], cb);
});
}
在lambda函数中,调用这条语句 会随机触发 exception 9、28、29
打log发现 this的值在lambda函数内外是不一致的。lambda函数内的值小于0x200
改成这样就正常了
void begin(std::function<void()> cb) {
CappActive* temp0 = this;
_s->moveto(Servo_max, [this, temp0, cb] {
temp0->_s->moveto(target[id()][1], cb);
});
}

Helen L
Posts: 71
Joined: Thu Aug 16, 2018 9:07 am

Re: esp8266的问题可以放在这里讨论吗?

Postby Helen L » Fri Mar 29, 2019 9:09 am


Who is online

Users browsing this forum: No registered users and 170 guests