- 博客(13)
- 资源 (6)
- 收藏
- 关注
原创 消息总线设计
消息框架设计消息定义消息格式:msg+消息类型+消息名称msg.sys.msgname。消息类型:以msg.sys前缀开头的为系统消息。msg.othername前缀开头的为用户自定义小。定义方式字符串宏定义平台消息统一存放 /include/msg.h头文件中。//msg.h#define MSG_SYS_MSGNAME "msg.plat.msgname"消息类型同步消息说明:发送消息立即到达接收端。使用场景:同一线程内部发送消息。异步消息
2020-08-20 00:35:05 917
原创 cef中c++和javascript数据交互
文章目录基础知识render进程browser进程进程通信CEF 进程间消息传递窗口绑定功能和窗口绑定功能和扩展使用JS回调总结基础知识cef中有两种进程,render进程和browser进程。render进程render进程负责显示web页面,运行javascript代码。v8引擎的初始化是在render进程中调用的,所以你的javascript代码是在render进程中执行的。即使你在browser进程中调用frame->ExecuteJavaScript()你也要清楚,代码是发
2020-08-19 22:53:29 1527
原创 STL库中的equal_range()
简介equal_range 根据键值,返回一对迭代器的pair对象。如果该键值在容器中存在,则pair对象中的第一个迭代器指向该键关联的第一个实例,第二个迭代器指向该键关联的最后一个实例的下一位置。如果找不到匹配的元素,则pair对象中的两个迭代器都将指向此键应该插入的位置。总之,equal_range返回迭代器位置区间 [ lower_bound, upper_bound )举例#include <iostream>#include <map>int main (){
2020-08-19 17:12:34 512
原创 选项模块实现
选项模块实现接口设计消息类型的定义流程用例图交互流程子页面注册使用选项对话框的构建过程创建非模态对话框对话框初始化时,尝试加载树结构选项配置文件格式:文件格式xml文件解析处理主对话框内的动作:存在问题:树结构代码实现参数读取与保存子页面实现对数据的读写Dll资源切换接口设计消息类型的定义子页面消息定义:用于通知主框架,子页面的创建状态(主框架监听的消息处理)#define MSG_PLUGIN_OPTIONS_PAGE_CREATED “msg.plugin.options.page_c
2020-08-19 00:51:38 555
原创 IO多路复用介绍
IO多路复用介绍IO多路复用介绍什么是IO多路复用IO多路复用适用如下场合:为什么有IO多路复用机制?同步阻塞(BIO)同步非阻塞(NIO)IO多路复用(现在的做法)IO多路复用的三种实现方式select 讲解select 基本原理:select缺点select函数接口select使用示例poll讲解poll函数接口poll使用示例poll缺点epoll讲解基本原理:epoll函数接口epoll使用示例epoll的优点epoll缺点epoll LT 与 ET模式的区别水平触发LT(level trigger
2020-08-18 17:13:37 842
原创 接收和发送缓冲区的设计
文章目录环形队列前言概念示意图环形队列与普通队列的区别设计图源码环形队列前言循环队列:队列有着先入先出的特性。但是对于队列如果删除队头以后剩下的空间将不会被释放,又由于队列只能由队尾插入这就导致被删除部分的空间被浪费。解决这个问题就是循环队列。循环队列顾名思义就是将队列串起来形成一个类似与环的结构。概念示意图内存中不存在环形数据结构,均由基础结构实现逻辑上的闭环效果环形队列与普通队列的区别front头部指针:一般队列:front头部指针初始值为-1,从队列取数据时,该值依次递增,
2020-08-18 00:43:02 787
原创 Windows WSAEventSelect 网络通信模型
文章目录Windows WSAEventSelect 网络通信模型WSAEventSelect模型介绍WSAEventSelect 用于服务器端**WSAWaitForMultipleEvents**WSAEnumNetworkEvents函数完整代码Windows WSAEventSelect 网络通信模型WSAEventSelect 网络通信模型是 Windows 系统上常用的一种异步 socket 通信模型,下面来详细介绍下其用法。WSAEventSelect模型介绍 WSAEventSel
2020-08-17 23:45:32 792
原创 c++ map中key为结构体
map中key为结构体项目中需要将结构体作为hash的key,一开始用hash_map,但是结构体中多值比较一直失败,所以尝试了map。hash_map 查找速度会比map快,而且查找速度基本和数据量大小无关,属于常数级别;而map的查找速度是log(n)级别。hash还有hash函数的耗时。当有100w条记录的时候,map也只需要20次的比较,200w也只需要21次的比较!所以并不一定常数就比log(n) 小。hash_map对空间的要求要比map高很多,所以是以空间换时间的方法,而且,hash_m
2020-08-14 22:49:42 3194
转载 面试时如何不简单de介绍自己的项目经验?
在面试时,经过寒暄后,一般面试官会让介绍项目经验 。常见的问法是,说下你最近的(或最拿得出手的)一个项目。根据我们的面试经验,发现有不少候选人对此没准备,说起来磕磕巴巴,甚至有人说出项目经验从时间段或技术等方面和简历上的不匹配,这样就会造成如下的后果。第一印象就不好了,至少会感觉该候选人表述能力不强。一般来说,面试官会根据候选人介绍的项目背景来提问题,假设面试时会问10个问题,那么至少有5个问题会根据候 选人所介绍的项目背景来问,候选人如果没说好,那么就没法很好地引导后继问题了,就相当于把提问权完全
2020-08-11 23:05:55 200
原创 智能指针类
文章目录C++ 98/03 的尝试——std::auto_ptrC/C++ 语言最为人所诟病的特性之一就是存在内存泄露问题,因此后来的大多数语言都提供了内置内存分配与释放功能,有的甚至干脆对语言的使用者屏蔽了内存指针这一概念。这里不置贬褒,手动分配内存与手动释放内存有利也有弊,自动分配内存和自动释放内存亦如此,这是两种不同的设计哲学。有人认为,内存如此重要的东西怎么能放心交给用户去管理呢?而另外一些人则认为,内存如此重要的东西怎么能放心交给系统去管理呢?在 C/C++ 语言中,内存泄露的问题一直困扰着广大
2020-08-05 10:18:37 400
原创 回退重做数据管理实现
回退重做数据管理实现前言关于回退重做事件的实现逻辑用例图类图关于回退重做数据管理的实现实现代码分析目前实现框架的优势和局限优点局限前言 关于回退重做的实现之前,需要考虑目前到软件框架的执行流,目前平台操作的实现,是基于event事件进行实现的。而参数数据是基于Json数据进行解析获取的。继承监听类IPlantListerner,即可以通过消息进行传递数据。关于回退重做事件的实现逻辑用例图类图关于回退重做数据管理的实现实现代码分析1、定义回退操作的基类 对于用户需要关注回退重做事件
2020-08-03 00:11:32 576
转载 虚函数表详解
虚函数表详解概述类的虚表虚表指针动态绑定总结参考资料示例代码关键词:虚函数,虚表,虚表指针,动态绑定,多态概述 为了实现 C++ 的多态,C++ 使用了一种动态绑定的技术。这个技术的核心是虚函数表(下文简称虚表)。本文介绍虚函数表是如何实现动态绑定的。类的虚表虚表是一个指针数组,其元素是虚函数的指针,每个元素对应一个虚函数的函数指针。需要指出的是,普通的函数即非虚函数,其调用并不需要经过虚表,所以虚表的元素并不包括普通函数的函数指针。虚表内的条目,即虚函数指针的赋值发生在编译器的编译阶段,也就
2020-08-02 01:41:40 399
原创 数据结构查找算法(二分查找)
查找算法之二分查找二分查找二分算法步骤描述二分查找的应用场景:二分查找的实现(递归算+非递归)递归算非递归实现参考例子后记:二分查找二分查找算法,说白了就是在有序的数组里面给予一个存在数组里面的值key,然后将其先和数组中间的比较,如果key大于中间值,进行下一次mid后面的比较,直到找到相等的,就可以得到它的位置。前提: 线性表中的记录必须是关键字有序(通常从小到大),线性表必须采用顺序存储。基本思想: 取中间记录作为比较对象,若给定值与中间记录的关键字相等,则查找成功;若给定值小于中间记录的关
2020-08-01 13:48:00 878
MFC关于下拉菜单按钮源码实现
2020-06-04
QtqmlDemo.rar
2019-09-29
REGSTAR_src.zip
2019-09-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人