- 嵌入式事件驱动代码的难题事件驱动(event driven)是一种常见的代码模型,其通常会有一个主循环(mainloop)不断的从队列中接收事件,然后分发给相应的函数/模块处理。常见使用事件驱动模型的软件包括图形用户界面(GUI),嵌入式设备软件,网络服务端等。本文以一个高度简化的嵌入式处理模块做为事件驱动代码的例子:假设该模块需要处理用户命令、外部消息、告警等各种事件,并在主循环中进行分发... 嵌入式事件驱动代码的难题事件驱动(event driven)是一种常见的代码模型,其通常会有一个主循环(mainloop)不断的从队列中接收事件,然后分发给相应的函数/模块处理。常见使用事件驱动模型的软件包括图形用户界面(GUI),嵌入式设备软件,网络服务端等。本文以一个高度简化的嵌入式处理模块做为事件驱动代码的例子:假设该模块需要处理用户命令、外部消息、告警等各种事件,并在主循环中进行分发...
- 在实际开发过程中,免不了涉及到混合编程,比如,对于python这种脚本语言,性能还是有限的,在一些对性能要求高的情景下面,还是需要使用c/c++来完成。 在实际开发过程中,免不了涉及到混合编程,比如,对于python这种脚本语言,性能还是有限的,在一些对性能要求高的情景下面,还是需要使用c/c++来完成。
- 在我之前的文章《C++语言中std::array的神奇用法总结》中,对于std::array的强大功能进行了介绍,并推荐用它替代原生数组。然而,有朋友在使用std::array时发现一个奇怪的问题:当元素类型是复合类型时,编译通不过。struct S { int x; int y;};int main(){ int a1[3]{1, 2, 3}; // 简单类型,原生数组... 在我之前的文章《C++语言中std::array的神奇用法总结》中,对于std::array的强大功能进行了介绍,并推荐用它替代原生数组。然而,有朋友在使用std::array时发现一个奇怪的问题:当元素类型是复合类型时,编译通不过。struct S { int x; int y;};int main(){ int a1[3]{1, 2, 3}; // 简单类型,原生数组...
- Rust语言学习曲线过于陡峭?初学者看懂这张思维导图,快速入门。 Rust语言学习曲线过于陡峭?初学者看懂这张思维导图,快速入门。
- std::array是在C++11标准中增加的STL容器,它的设计目的是提供与原生数组类似的功能与性能。也正因此,使得std::array有很多与其他容器不同的特殊之处,比如:std::array的元素是直接存放在实例内部,而不是在堆上分配空间;std::array的大小必须在编译期确定;std::array的构造函数、析构函数和赋值操作符都是编译器隐式声明的……这让很多用惯了std::ve... std::array是在C++11标准中增加的STL容器,它的设计目的是提供与原生数组类似的功能与性能。也正因此,使得std::array有很多与其他容器不同的特殊之处,比如:std::array的元素是直接存放在实例内部,而不是在堆上分配空间;std::array的大小必须在编译期确定;std::array的构造函数、析构函数和赋值操作符都是编译器隐式声明的……这让很多用惯了std::ve...
- 请用5分钟阅读本文,然后立即投入实践,养成良好的文档习惯,你将节约无数宝贵的屎山打滚时间。 请用5分钟阅读本文,然后立即投入实践,养成良好的文档习惯,你将节约无数宝贵的屎山打滚时间。
- C++调用Go方法时,字符串参数的内存管理需要由Go侧进行深度值拷贝。 C++调用Go方法时,字符串参数的内存管理需要由Go侧进行深度值拷贝。
- 编译&链接对C&C++程序员既熟悉又陌生,熟悉在于每份代码都要经历编译&链接过程,陌生在于大部分人并不会刻意关注编译&链接的原理。本文通过开发过程中碰到的四个典型问题来探索64位linux下C++编译&链接的那些事。 编译&链接对C&C++程序员既熟悉又陌生,熟悉在于每份代码都要经历编译&链接过程,陌生在于大部分人并不会刻意关注编译&链接的原理。本文通过开发过程中碰到的四个典型问题来探索64位linux下C++编译&链接的那些事。
- 本文结合作者的工作经验和学习心得,对C++语言的一些高级特性,做了简单介绍;对一些常见的误解,做了解释澄清;对比较容易犯错的地方,做了归纳总结;希望借此能增进大家对C++语言了解,减少编程出错,提升工作效率。 本文结合作者的工作经验和学习心得,对C++语言的一些高级特性,做了简单介绍;对一些常见的误解,做了解释澄清;对比较容易犯错的地方,做了归纳总结;希望借此能增进大家对C++语言了解,减少编程出错,提升工作效率。
- 文章目录 一、C++ 运算符二、算术运算符减法乘法除法余数自增自减 三、赋值运算符加等于减等于乘等于除等于 四、比较运算符等价符不等价大于小于大于等于小于等于 五、逻辑运算符并且... 文章目录 一、C++ 运算符二、算术运算符减法乘法除法余数自增自减 三、赋值运算符加等于减等于乘等于除等于 四、比较运算符等价符不等价大于小于大于等于小于等于 五、逻辑运算符并且...
- 文章目录 字符串字符串连接附加数字和字符串数字拼接字符串拼接数字与字符拼接 字符串长度访问字符串访问字符串更改字符串字符 用户输入字符串省略命名空间 字符串 字符串用于存储... 文章目录 字符串字符串连接附加数字和字符串数字拼接字符串拼接数字与字符拼接 字符串长度访问字符串访问字符串更改字符串字符 用户输入字符串省略命名空间 字符串 字符串用于存储...
- 字符串操作看似简单,其实非常重要,不注意的话,经常出现代码运行结果和自己想要的不一致,甚至崩溃。本文总结了一些构建string对象方法、修改string对象的方法、string类型的操作函数、string类型的查找、string对象的比较。 1 构建string对象方法 首先,为了在我们的程序中使用string类型,我们必须包含头文件 。如下: #include <... 字符串操作看似简单,其实非常重要,不注意的话,经常出现代码运行结果和自己想要的不一致,甚至崩溃。本文总结了一些构建string对象方法、修改string对象的方法、string类型的操作函数、string类型的查找、string对象的比较。 1 构建string对象方法 首先,为了在我们的程序中使用string类型,我们必须包含头文件 。如下: #include <...
- 文章目录 C++背景介绍:C++入门真的不难C++语言与C语言的异同类类方法C++ 类访问修饰符类继承构造/析构函数拷贝构造函数this指针 C++ 动态内存数组的动态内存分配对象的动态内存分配 这个图有点偏差啊,C++是要排在QT之前的,回头我会对这个图进行一波的微调。 这已经是进入了第二个阶段了,此前如果C语言基础还没有打好的小伙伴可以... 文章目录 C++背景介绍:C++入门真的不难C++语言与C语言的异同类类方法C++ 类访问修饰符类继承构造/析构函数拷贝构造函数this指针 C++ 动态内存数组的动态内存分配对象的动态内存分配 这个图有点偏差啊,C++是要排在QT之前的,回头我会对这个图进行一波的微调。 这已经是进入了第二个阶段了,此前如果C语言基础还没有打好的小伙伴可以...
- 一、深入了解Qt框架:筑牢Qt客户端开发的基石在Qt客户端开发领域,深入理解Qt框架是提升竞争力和薪资水平的基础。Qt框架以其跨平台性、丰富的界面组件和强大的功能特性,成为众多C++程序员的首选。因此,要想在Qt开发领域脱颖而出,必须对Qt框架有深入的了解。建议您熟悉Qt的基本组成和核心概念。Qt框架包含了大量的类库和工具,涵盖了GUI开发、网络编程、数据库操作等多个方面。掌握Qt的核心概念... 一、深入了解Qt框架:筑牢Qt客户端开发的基石在Qt客户端开发领域,深入理解Qt框架是提升竞争力和薪资水平的基础。Qt框架以其跨平台性、丰富的界面组件和强大的功能特性,成为众多C++程序员的首选。因此,要想在Qt开发领域脱颖而出,必须对Qt框架有深入的了解。建议您熟悉Qt的基本组成和核心概念。Qt框架包含了大量的类库和工具,涵盖了GUI开发、网络编程、数据库操作等多个方面。掌握Qt的核心概念...
- @TOC 前言在软件开发过程中,设计模式是一种被广泛应用的方法,它为解决特定问题提供了可复用的、经过验证的解决方案。C++是一种支持面向对象编程的语言,因此在C++中应用设计模式是非常常见的。为了更好地理解和交流设计模式,人们通常使用UML(Unified Modeling Language)图来描述和表示设计模式的结构和行为。 一、UML图的介绍 1.1 UML图是什么UML(Unifie... @TOC 前言在软件开发过程中,设计模式是一种被广泛应用的方法,它为解决特定问题提供了可复用的、经过验证的解决方案。C++是一种支持面向对象编程的语言,因此在C++中应用设计模式是非常常见的。为了更好地理解和交流设计模式,人们通常使用UML(Unified Modeling Language)图来描述和表示设计模式的结构和行为。 一、UML图的介绍 1.1 UML图是什么UML(Unifie...
上滑加载中
推荐直播
-
华为云IoT开源专家实践分享:开源让物联网平台更开放、易用
2024/05/22 周三 16:30-18:00
张俭 华为云IoT DTSE技术布道师
开源,意味着开放、共享、互助、共赢。作为万物上云及各行业数字化的物联网底座,华为云IoT积极拥抱开源,借助行业开源的最佳实践,构建可靠、易用的物联网平台,并通过开放南北向SDK,助力开发者快速构建物联网应用。本期直播,华为云IoT开源专家、物联网平台资深“程序猿”张俭,带你了解华为云IoT的开源生态,并手把手教你玩转开源社区!
去报名 -
华为云开发者日·广州站
2024/05/23 周四 14:30-17:30
华为云专家团
华为云开发者日HDC.Cloud Day是面向全球开发者的旗舰活动,汇聚来自千行百业、高校及科研院所的开发人员。致力于打造开发者专属的技术盛宴,全方位服务与赋能开发者围绕华为云生态“知、学、用、创、商”的成长路径。通过前沿的技术分享、场景化的动手体验、优秀的应用创新推介,为开发者提供沉浸式学习与交流平台。开放创新,与开发者共创、共享、共赢未来。
去报名
热门标签