现在位置: 首页 > 自动控制 > 工业·编程 > 文章
上一节了解了大体流程,但是界面控件元素是如何被加载、解析、构建、管理、控件消息如何处理的呢?接下来我们将结合控件构造器进行分析; CDialogBuilder:控件构造器,主要用以解析xml配置文件并以此创建相应控件及相关属性。 类成员数据: m_xml:xml解析器,用以读取并解析xml配置文件; m_pCallback:构造器回调函数,用以给予用户可以实现自定义的构造控件对象的方式; m_pstrtype:以NULL为结束符的字符串,资源类型...
阅读全文
2020-04-15 09:03 工业·编程 ⁄ 共 2440字 评论 1 条
Duilib界面库是一款由杭州月牙儿网络技术有限公司开发的界面开源库,以viksoe项目下的UiLib库的基础上开发(此后也将对UiLib库进行源码分析);通过XML布局界面,将用户界面和处理逻辑彻底分离,极大地提高用户界面的开发效率。一般常用于开发小型项目Windows桌面客户端软件;其子窗口不以窗口句柄的形式创建,只是逻辑上的窗口,绘制在父窗口之上。目前开源协议以BSD发布,可使用于商业应用,好了,其他更为详细的介绍,请查阅...
阅读全文
2020-04-14 16:53 工业·编程 ⁄ 共 18210字 暂无评论
1.网络协议设计     ISO提出了OSI分层网络模型,这种分层模型是理论上的,TCP/IP最终实现了一个分层的协议模型,每一个层次对应一组网络协议完成一组特定的功能,该组网络协议被其下的层次复用和解复用。这就是分层模型的本质,最终所有的逻辑被编码到线缆或者电磁波。     分层模型是很好理解的,然而对于每一层的协议设计却不是那么容易。TCP/IP的漂亮之处在于:协议越往上层越复杂。我们把网...
阅读全文
2020-04-13 10:49 工业·编程 ⁄ 共 33174字 暂无评论
C++的高抽象层次,又兼具高性能,是其他语言所无法替代的,C++标准保持稳定发展,更加现代化,更加强大,更加易用,熟练的 C++ 工程师自然也获得了“高水平、高薪资”的名声,但在各种活跃编程语言中,C++门槛依然很高,尤其C++的内存问题(内存泄露,内存溢出,内存宕机,堆栈破坏等问题),需要理解C++标准对象模型,C++标准库,标准C库,操作系统等内存设计,才能更加深入理解C++内存管理,这是跨越C++三座大山之一,我们必须...
阅读全文
2020-04-12 14:28 工业·编程 ⁄ 共 1214字 暂无评论
1 缘由 在阅读seastar源码时发现有使用pread函数,这也是第一次认识pread函数,平时用read比较多。 2 pread函数 2.1 函数原型: #include <unistd.h> ssize_t pread(int fd, void *buf, size_t count, off_t offset); ssize_t pwrite(int fd, const void *buf, size_t count, off_t offset); pread简单来说就是在指定偏移offset位置开始读取count个字节,同理可推``pwrite`。 2.2 使用示例 #include <unistd.h> #in...
阅读全文
下面我结合我面试候选人的经验,以及我对高并发的理解,给一个非常完整的建议。如果能认真看完,相信一定有所收获,至少应付面试没啥问题。 相关阅读     ----后台服务器开发中如何解决“三高” 首先说一下,当我作为面试官问候选人「对于高并发的理解」时,我觉得「答得不好」的情况分成以下几类: 1、对数据化的指标没有概念:不清楚选择什么样的指标来衡量高并发系统?分不清并发量和QPS,不知道自己系统的总用...
阅读全文
2020-04-10 10:06 工业·编程 ⁄ 共 251字 暂无评论
CRUD是指在做计算处理时的增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)几个单词的首字母简写。主要被用在描述软件系统中DataBase或者持久层的基本操作功能。 CRUD说的就是增查改删 C:Create 增加对应CREATE TBL ...; ADD TBL IN (...) VALUES (...) R:Retrieve查询SELECT * from TBL U:Update修改UPDATE TBL ..SET ... D:Delete删除 DELETE FROM TBL WHERE ....
阅读全文
在互联网公司,经常面临一个“三高”问题: 高并发 高性能 高可用 这篇文章将总结一下后台服务器开发中有哪些常用的解决“三高”问题的方法和思想。 先上本文思维导图: 一、缓存 什么是缓存?看看维基百科怎么说: In computing, a cache is a hardware or software component that stores data so that future requests for that data can be served faster; the data stored in a cache might be the result of an earlier c...
阅读全文
C语言标准就是这么规定的:free无需手动指示大小。不是怕你不小心填错,而是事实上你很难填对。 这是因为,虽然你告诉了malloc你要多少空间,但malloc真正分配了多少只有它自己知道。例如,你向malloc要了999字节,但某人写的malloc分配的最小粒度是1024字节,那么你会得到一个1024字节的空间(虽然你一直以为它是999字节而不敢越雷池一步,这倒也没什么)。 所以,要是你填一个错误值,还得让它费心修正,还不如就让它自己管理...
阅读全文
2020-04-07 22:47 工业·编程 ⁄ 共 3431字 暂无评论
从原来的软件开发岗位转到现在的5G开发,你们觉得最大的难点在哪里?几位新同事纷纷表示:感觉自己要补课的内容实在是太多了,操作系统、网络协议,到处都是难点。其实这几位同事的经历和遇到的问题都非常有代表性:由于做开发不懂业务,故大部分码农都是一颗颗螺丝钉,铆在自己的那一点点领域上使劲往下钻,而对整体架构几乎一无所知,导致自己的专业面非常窄,技术水平也比较浮于表面。对这些已经拥有3-5年经验的程序员而言,...
阅读全文