5 四九城小白~阿勋

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 6w+

消息总线设计

消息框架设计消息定义消息格式: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

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

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

选项模块实现

选项模块实现接口设计消息类型的定义流程用例图交互流程子页面注册使用选项对话框的构建过程创建非模态对话框对话框初始化时,尝试加载树结构选项配置文件格式:文件格式xml文件解析处理主对话框内的动作:存在问题:树结构代码实现参数读取与保存子页面实现对数据的读写Dll资源切换接口设计消息类型的定义子页面消息定义:用于通知主框架,子页面的创建状态(主框架监听的消息处理)#define MSG_PLUGIN_OPTIONS_PAGE_CREATED “msg.plugin.options.page_c

2020-08-19 00:51:38

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

接收和发送缓冲区的设计

文章目录环形队列前言概念示意图环形队列与普通队列的区别设计图源码环形队列前言循环队列:队列有着先入先出的特性。但是对于队列如果删除队头以后剩下的空间将不会被释放,又由于队列只能由队尾插入这就导致被删除部分的空间被浪费。解决这个问题就是循环队列。循环队列顾名思义就是将队列串起来形成一个类似与环的结构。概念示意图内存中不存在环形数据结构,均由基础结构实现逻辑上的闭环效果环形队列与普通队列的区别front头部指针:一般队列:front头部指针初始值为-1,从队列取数据时,该值依次递增,

2020-08-18 00:43:02

Windows WSAEventSelect 网络通信模型

文章目录Windows WSAEventSelect 网络通信模型WSAEventSelect模型介绍WSAEventSelect 用于服务器端**WSAWaitForMultipleEvents**WSAEnumNetworkEvents函数完整代码Windows WSAEventSelect 网络通信模型WSAEventSelect 网络通信模型是 Windows 系统上常用的一种异步 socket 通信模型,下面来详细介绍下其用法。WSAEventSelect模型介绍​ WSAEventSel

2020-08-17 23:45:32

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

面试时如何不简单de介绍自己的项目经验?

在面试时,经过寒暄后,一般面试官会让介绍项目经验 。常见的问法是,说下你最近的(或最拿得出手的)一个项目。根据我们的面试经验,发现有不少候选人对此没准备,说起来磕磕巴巴,甚至有人说出项目经验从时间段或技术等方面和简历上的不匹配,这样就会造成如下的后果。第一印象就不好了,至少会感觉该候选人表述能力不强。一般来说,面试官会根据候选人介绍的项目背景来提问题,假设面试时会问10个问题,那么至少有5个问题会根据候 选人所介绍的项目背景来问,候选人如果没说好,那么就没法很好地引导后继问题了,就相当于把提问权完全

2020-08-11 23:05:55

智能指针类

文章目录C++ 98/03 的尝试——std::auto_ptrC/C++ 语言最为人所诟病的特性之一就是存在内存泄露问题,因此后来的大多数语言都提供了内置内存分配与释放功能,有的甚至干脆对语言的使用者屏蔽了内存指针这一概念。这里不置贬褒,手动分配内存与手动释放内存有利也有弊,自动分配内存和自动释放内存亦如此,这是两种不同的设计哲学。有人认为,内存如此重要的东西怎么能放心交给用户去管理呢?而另外一些人则认为,内存如此重要的东西怎么能放心交给系统去管理呢?在 C/C++ 语言中,内存泄露的问题一直困扰着广大

2020-08-05 10:18:37

回退重做数据管理实现

回退重做数据管理实现前言关于回退重做事件的实现逻辑用例图类图关于回退重做数据管理的实现实现代码分析目前实现框架的优势和局限优点局限前言​ 关于回退重做的实现之前,需要考虑目前到软件框架的执行流,目前平台操作的实现,是基于event事件进行实现的。而参数数据是基于Json数据进行解析获取的。继承监听类IPlantListerner,即可以通过消息进行传递数据。关于回退重做事件的实现逻辑用例图类图关于回退重做数据管理的实现实现代码分析1、定义回退操作的基类​ 对于用户需要关注回退重做事件

2020-08-03 00:11:32

虚函数表详解

虚函数表详解概述类的虚表虚表指针动态绑定总结参考资料示例代码关键词:虚函数,虚表,虚表指针,动态绑定,多态概述​ 为了实现 C++ 的多态,C++ 使用了一种动态绑定的技术。这个技术的核心是虚函数表(下文简称虚表)。本文介绍虚函数表是如何实现动态绑定的。类的虚表虚表是一个指针数组,其元素是虚函数的指针,每个元素对应一个虚函数的函数指针。需要指出的是,普通的函数即非虚函数,其调用并不需要经过虚表,所以虚表的元素并不包括普通函数的函数指针。虚表内的条目,即虚函数指针的赋值发生在编译器的编译阶段,也就

2020-08-02 01:41:40

数据结构查找算法(二分查找)

查找算法之二分查找二分查找二分算法步骤描述二分查找的应用场景:二分查找的实现(递归算+非递归)递归算非递归实现参考例子后记:二分查找二分查找算法,说白了就是在有序的数组里面给予一个存在数组里面的值key,然后将其先和数组中间的比较,如果key大于中间值,进行下一次mid后面的比较,直到找到相等的,就可以得到它的位置。前提: 线性表中的记录必须是关键字有序(通常从小到大),线性表必须采用顺序存储。基本思想: 取中间记录作为比较对象,若给定值与中间记录的关键字相等,则查找成功;若给定值小于中间记录的关

2020-08-01 13:48:00

内存问题排查工具 --- valgrind

概述在用C/C++编程的时候,经常会出现下面三种内存问题:内存泄漏悬挂指针多次释放同一块内存本系列文章简要介绍排查这三个问题的工具和方法,先看看ValgrindValgrindValgrind是一款可以监测内存使用情况、监测内存泄漏的工具。对于一些规模不是很大的应用程序,Valgrind是一把利器。ubuntu16.04上安装valgrind1、下载最新版本:http://valgrind.org/downloads/current.html#current2、tar -jxvf val

2020-07-30 00:21:38

封装基于opc客户端通信机制的代理服务器COM动态库接口

封装基于opc客户端通信机制的代理服务器COM动态库接口项目综述时间工作负责模块背景:任务:**行动**:**结果**:实现逻辑项目综述时间2020年04月 – 2020年05月工作负责模块​ 基于OPC DA2.0 客户端通信机制,封装COM组件的Dll动态库接口,配合前端python调用接口,与OPC.Server服务器进行数据交互。背景:​ 项目之前是基于开源的opc 客户端dll文件,进行访问opc.server抓取数据的。但后期不能正常采集到数据了。任务:​ 基于OPC DA2.

2020-07-26 23:39:30

windows进程通信 -- WM_COPYDATA消息

windows进程通信 -- WM_COPYDATA消息WM_COPYDATA消息发送端接收端WM_COPYDATA消息WM_COPYDATA消息,在win32中用来进行进程间的数据传输。typedef struct tagCOPYDATASTRUCT { // cds DWORD dwData; DWORD cbData; PVOID lpData; } COPYDATASTRUCT;其中dwData为32位的自定义数据, lpData为指向数据的指针,cbDa

2020-07-24 23:49:06

后端数据解析过程中,更新前端UI进度条

后端数据解析过程中,更新前端UI进度条前言源码解析源码测试逻辑前言在做前端ui进度条时,总会遇到后端数据解析过程中,前端ui不能同步更新的问题。为解决以上问题。想到最好的办法是通过消息进行通知,ui类监听此消息,进行ui刷新。源码解析源码开放API接口,可用其他模块进行交互#pragma once//进度条类接口class ICStatusProgress{public: ICStatusProgress() { }; ~ICStatusProgress() { };public:

2020-07-24 22:12:26

FTP协议讲解

文章目录FTP 概述FTP 协议命令端口数据端口主动模式 (PORT)被动模式 (PASV)主要用到的 FTP 命令FTP 响应码Socket 编程的几个重要步骤实现 FTP 客户端上传下载功能客户端和 FTP 服务器建立 Socket 连接图 1. 客户端连接到服务器端清单 1. 客户端连接到 FTP 服务器,接收欢迎信息客户端登录 FTP 服务器图 2. 客户端登录 FTP 服务器清单 2. 客户端发送用户名和密码,登入 FTP 服务器客户端让 FTP 服务器进入被动模式图 3. 客户端让服务器进入被动

2020-07-15 00:31:53

MFC关于按钮下拉菜单的功能实现

MFC关于按钮下拉菜单的功能实现前言参考类似word相应功能实现:产品工作需求设计:产品最终实现效果思路具体实现前言根据产品工作需求要求,要实现个剖切管理的功能,关于界面ui的实现,有一模块是类似word文档实现按钮下拉菜单功能的实现。这块实现遇到不少坑,特总结一下经验,为后人少掉坑。参考类似word相应功能实现:产品工作需求设计:产品最终实现效果思路参考了不少网上文档,没有找到合适的相关实现。但是给我提供了实现的思路:利用CMFCMenuButton按钮加上CMenu菜单按钮,进行

2020-06-04 22:45:39

基于Window的 WSAEventSelect 网络通信模型

Windows WSAEventSelect 网络通信模型 WSAEventSelect 网络通信模型是 Windows 系统上常用的一种异步 socket 通信模型,下面来详细介绍下其用法。 WSAEVENTSELECT 用于服务器端 我们先从服务器端来看这个模型,在 Windows 系统上正常的一个服务器端 socket 通信流程是先初始化套接字库,然后创建侦听 socket,接着绑定 ip 地址和端口,再调用 listen 函数开启侦听。代码如下: //1. 初始化套接字库.

2020-05-31 16:14:14

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享达人
    分享达人
    成功上传6个资源即可获取