收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
protected:
void timerEvent(QTimerEvent *event) Q_DECL_OVERRIDE;
protected slots:
void btnClicked();
private:
Ui::Widget *ui;
QSharedMemory *m_sharedMemory;
int m_timerId;
};
#endif // WIDGET_H
main.cpp
#include “widget.h”
#include “sharedwidget.h”
#include
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}
sharedwidget.h
#include “sharedwidget.h”
#include “ui_sharedwidget.h”
#include
#include
#include
#include
SharedWidget::SharedWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::SharedWidget)
{
ui->setupUi(this);
m_sharedMemory = new QSharedMemory(“123456”);
connect(ui->lineEdit, SIGNAL(textChanged(QString)),
this, SLOT(LineEditTextChanged(QString)));
}
SharedWidget::~SharedWidget()
{
delete ui;
}
void SharedWidget::LineEditTextChanged(QString text)
{
if(m_sharedMemory->isAttached()){
if(!m_sharedMemory->detach()){
return;
}
}
QBuffer buffer;
buffer.open(QBuffer::ReadWrite);
QDataStream out(&buffer);
out << text;
if(!m_sharedMemory->create(buffer.size())){
qDebug()<< "create failed!";
return;
}
m_sharedMemory->lock();
char *to = static_cast<char*>(m_sharedMemory->data());
const char *from =text.toStdString().c_str();
memcpy(to, from, qMin(m_sharedMemory->size(), (int)buffer.size()));
m_sharedMemory->unlock();
}
widget.cpp
#include “widget.h”
#include “ui_widget.h”
#include “sharedwidget.h”
#include
#include
#include
#include
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
m_sharedMemory = new QSharedMemory;
m_sharedMemory->setKey("123456");
m_timerId = startTimer(0);
connect(ui->pushButton, SIGNAL(clicked(bool)), this, SLOT(btnClicked()));
}
Widget::~Widget()
{
delete ui;
delete m_sharedMemory;
}
void Widget::timerEvent(QTimerEvent *event)
{
if(event->timerId() == m_timerId){
if(!m_sharedMemory->attach()){
return;
}
QBuffer buffer;
m_sharedMemory->lock();
buffer.setData((char*)m_sharedMemory->constData(), m_sharedMemory->size());
buffer.open(QBuffer::ReadOnly);
QString data = buffer.readAll();
m_sharedMemory->unlock();
m_sharedMemory->detach();
ui->label->setText(data);
}
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新
提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!**
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新