自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

积累点滴,保持自我

遇见问题,解决问题

转载 duilib开发基础:创建自定义控件的过程

转载自·http://blog.csdn.net/zhuhongshu/article/details/45362751 用Duilib开发界面时,很多情况下库自带的控件不满足需求,就需要基于Duilib建立自定义控件(自绘新的控件,或者用来封装win32的子窗体,来显示视频、网页等)...

2020-11-26 17:53:20 9 0

转载 5分钟搞定内存字节对齐

本文转载自:https://blog.csdn.net/hairetz/article/details/4084088#comments_12882172 写出一个struct,然后sizeof,你会不会经常对结果感到奇怪?sizeof的结果往往都比你声明的变量总长度要大,这是怎么回事呢?讲讲字...

2020-11-25 16:00:50 16 0

原创 duilib 中list控件的扩展

概述 duilib中list控件默认情况样式比较简单,无法适应众多需求场景 扩展与原始list对比 原始实现效果: 扩展list效果: 扩展list的实现 1.duilib源代码的修改 ①首先修改CListHeaderItemUI类,该类表示的是list的表头,如下图:...

2020-11-25 14:55:58 257 0

原创 duilib在同一个界面中(xml)加载两种自定义的list

duilib中list的自定义使用(一个界面中只有一个自定义list) list是duilib中的基本控件,是一种基本的表格,可以自定义表格的各种基本属性(颜色,边框,字体等),类似于下图的基本效果,显示的是5列7行的一个列表。 xml文件的编写 listtest.xml(list列表控...

2020-11-25 11:47:01 10 0

转载 libevent和libcurl实现http和https服务器 cJSON使用

 前言   libevent和libcurl都是功能强大的开源库;libevent主要实现服务器,包含了select、epoll等高并发的实现;libcurl实现了curl命令的API封装,主要作为客户端。这两个开源库的安装可以参考我的这篇博客:https://www.cnblogs.com/l...

2020-11-19 16:06:03 18 0

转载 curl和libcurl的区别简介

curl和libcurl的区别简介 更新时间:2015年07月01日 15:39:19 投稿:junjie 这篇文章主要介绍了curl和libcurl的区别简介,本文讲解了curl简介、libcurl简介、curl与libcurl对比、“curl”的不同意思、PHP中使用curl和libc...

2020-11-19 15:55:13 23 0

原创 浅谈c++纯虚函数的多态与数据隐藏

纯虚函数概述 纯虚函数在c++中引入的一个概念,引入原因有两点: 为了方便使用多态特性,我们常常需要在基类中定义虚拟函数。 在很多情况下,基类本身生成对象是不合情理的。例如,动物作为一个基类可以派生出老虎、孔雀等子类,但动物本身生成对象明显不合常理。 为了解决上述问题,引入了纯虚函数...

2020-11-10 10:26:37 23 0

原创 使用Duilib做的程序封装成DLL的显示加载与卸载问题

一.前言: 最近在使用Duilib做一些客户端程序,有一些单一的模块也是使用Duilib做的,但是是封装成DLL的形式作为插件使用的,即使用的时候显式调用dll,加载显示,在不用的时候直接卸载dll,减少内存占用。 在此过程中遇见了一些较为扯淡的问题。 显示调用dll使用导出类与导...

2020-11-06 12:01:16 32 0

转载 高效维持网络长连接:手把手教你实现 自适应的心跳保活机制

前言 当实现具备实时性需求时,我们一般会选择长连接的通信方式 而在实现长连接方式时,存在很多性能问题,如 长连接保活 今天,我将手把手教大家实现自适应的心跳保活机制,从而能高效维持长连接 目录 示意图 1. 长连接 介绍 1.1 简介 示意图 1.2 作用 通过长时间保持...

2020-10-12 11:28:53 1247 1

转载 实时操作系统与分时操作系统的区别

1.什么是实时操作系统? 实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的操作系统。其特点是及时响应和高可靠性。实时系统又分为硬实时系统和软实时系统,硬...

2020-09-27 11:56:40 150 0

原创 duilib加载xml以及资源文件的路径问题

一.问题描述 Duilib一般通过加载写好的xml文件显示界面,xml中包含了各种资源图片以及显示属性等,最近使用时遇见两个问题,第一个就是没有设置duilib的主程序句柄,导致加载xml文件时找不到相对路径。第二个问题就是在一个程序中多个界面的xml只能放在同一个文件夹,不能一个xml一个文件...

2020-09-25 14:54:21 123 0

原创 c++程序无法进入断点的原因

今天调试VC程序的时候出现了一个烦人的问题,调用的DLL代码中出现问题,但是打断点一直无法进入断点, 啊啊啊啊啊啊,这问题整了一会还好发现了问题的原因,居然是因为我DLL工程生成的lib 程序代码之间调用,断点无法进入 程序调用DLL,无法进入DLL源代码中的 断点 ...

2020-09-25 14:03:27 210 0

转载 USB 设备热插拔的检测

系统检测USB 设备往往分为两个过程: 1. USB 设备已经插入, 打开软件。 此时需要枚举当前设备列表中所有的设备,并过滤指定的USB 设备。 2. 打开软件后, USB 热插拔 。 此时用WM_DEVICECHANGE消息去获取设备信息。 当设备插入或者移除时,系统给当前主窗口发送W...

2020-09-18 18:02:37 102 0

原创 win32 HINSTANCE与HWND的区别

几个概念的区分 HINSTANCE是应用程序实例句柄,HWND是窗口对象句柄,HANDLE是任意对象的句柄, 以下是来自CSDN论坛的讨论 句柄就是handle,就是一个指针,指向一块不知类型的内存地址, 地址处的数据类型决定了句柄类型, 好比门牌号, 指向程序实例基地址的是实例句柄 指向窗...

2020-09-11 15:13:07 78 0

转载 串口之COMMTIMEOUTS结构体

COMMTIMEOUTS主要用于串口超时参数设置。COMMTIMEOUTS结构如下: typedef struct _COMMTIMEOUTS { DWORD ReadIntervalTimeout; DWORD ReadTotalTimeoutMultiplier; DWORD ReadTot...

2020-08-31 20:18:23 75 0

原创 windows下USB通讯

前言 Windows下USB通讯,利用设备VID与PID查询设备,利用了windows的setupapi.lib与hid.lib库,开发时需要包含 #include <hidsdi.h> #include <setupapi.h> 头文件 USB通讯类 CommUsb...

2020-08-21 12:04:33 265 0

转载 进程的创建

windows下创建进程 CreateProcess函数简介 windows下想要创建一个子进程不如linux的fork函数来得方便,通过CreateProcess函数创建一个新的进程,函数的定义如下 BOOLCreateProcess(  LPCTSTRlpApplicationName...

2020-08-19 15:40:41 48 0

转载 孤儿进程与僵尸进程

1、前言   之前在看《unix环境高级编程》第八章进程时候,提到孤儿进程和僵尸进程,一直对这两个概念比较模糊。今天被人问到什么是孤儿进程和僵尸进程,会带来什么问题,怎么解决,我只停留在概念上面,没有深入,倍感惭愧。晚上回来google了一下,再次参考APUE,认真总结一下,加深理解。 2、基...

2020-08-19 14:56:38 76 0

转载 c++多线程中detach的使用隐患

一、其他构造线程的方法 c++线程,除了可以利用普通函数创建线程外,还有其他创建线程的方法: 类对象 Lambda表达式 具体使用方法如下: #include <thread> using namespace std; class TA { public: void o...

2020-08-19 14:23:54 191 0

转载 C++11多线程join()和detach()

简介 每一个程序至少拥有一个线程,那就是执行main()函数的主线程,而多线程则是出现两个或两个以上的线程并行运行,即主线程和子线程在同一时间段同时运行。而在这个过程中会出现几种情况: 主线程先运行结束 子线程先运行结束 主子线程同时结束 在一些情况下需要在子线程结束后主线程才能结束,而一...

2020-08-19 14:06:25 317 0

转载 std::thread

本文转载自:https://github.com/forhappy/Cplusplus-Concurrency-In-Practice/blob/master/zh/chapter3-Thread/Introduction-to-Thread.md 本节将详细介绍std::thread的用法。 ...

2020-08-19 11:59:36 96 0

原创 Visual Assist X 颜色配置习惯

个人使用颜色习惯,

2020-08-19 09:46:48 258 0

转载 动态链接库dll,导入库lib,静态链接库lib

一.windows下动态链接库dll,导入库lib,静态链接库lib 1.导入库lib与静态链接库lib 目前以lib后缀的库有两种,一种为静态链接库(StaticLibary,以下简称“静态库”),另一种为动态连接库(DLL,以下简称“动态库”)的导入库(ImportLibary,以下简称“...

2020-08-15 17:06:27 60 0

原创 vs调试时查看指针指向的内存区域的内容

前言 记得以前使用vs debug模式下调试时,可以直接看到变量或者指针指向的内存区域的内容,但是今天在查看一个指针指向的内容的时候发现了一个问题,就是当查看一个指针指向的内存区域的内容时,只显示一个字节的内容(问题),后续的看不到,我不清楚这是默认的还是可以设置的,知道的可以说一下怎么设置,对...

2020-08-13 21:05:20 447 0

原创 再看mfc
原力计划

前言 很久不用mfc,曾几何时以为以后会很少接触它了,以前总是嫌弃它,老古董,做mfc的没前途。。。 最近又用它做东西时,有了不少感悟,mfc是属于界面类库,而且是属于比较成熟,有历史的库,相较于目前做界面比较华丽多彩的duilib、BCG、QT等从外观上略显逊色,但是都了解过之后会有一...

2020-08-07 16:02:15 116 0

原创 duilib的通用窗口类WindowImplBase

前言 duilib程序中,编写自己的窗口类一般的继承关系有两种,一种是继承自CWindowWnd、INotifyUI、IMessageFilterUI,而第二种方式是继承自duilib封装好的通用窗口类WindowImplBase WindowImplBase类 从源码中可以看到Window...

2020-08-06 15:37:09 107 0

原创 duilib源码修改之WindowImplBase类OnCreate函数

问题: duilib默认新建窗体的左上角为屏幕左上角,无法自己输入参数修改,如下 代码: #include "stdafx.h" #include "MainFrame.h" int APIENTRY WinMain(HINSTANCE hInsta...

2020-08-05 17:53:04 115 0

原创 duilib绝对定位与相对定位

前言 duilib中窗口,布局,控件等在屏幕上的显示位置都是按照配置好的xml文件规则显示的,每个显示元素的位置大小也需要显式指定,才能呈现出更好看的界面效果,显示元素的位置有两种配置规则,即绝对位置(fuilib中float属性为true时)与相对位置(float属性为false时)。 绝对...

2020-08-05 11:55:14 229 0

转载 duilib整体框架认识

从GoogleCode上下载的duilib工程中附带的一副总体设计图(如下所示),可以先整体了解一下,有个初步的认识,对后续进一步深入了解学习会很有帮助。 通过设计图有了一个初步认识后,接下来开始进一步深入学习了解,主要从以下几个方面进行了解学习: 库的组成;框架基本流程;元素创建机制;消息...

2020-08-04 14:50:28 68 0

原创 Duilib使用---颜色配置

前言 duiilib是通过加载配置的xml文件渲染显示的界面,xml文件在duilib中扮演着类似衣服的角色,所有关于外表界面的各种属性全在xml文件配置,这篇文章介绍一下duilib的颜色配置。 8位16进制值表示颜色 简单示例 下面是摘自一个简单示例的一段duilib的xml,表示的是...

2020-08-04 14:30:04 128 0

转载 WM_CLOSE、WM_DESTROY、WM_QUIT及各种消息投递函数详解

本文对WM_CLOSE、WM_DESTROY、WM_QUIT及各种消息投递函数的功能及区别做出了分析比对,有助于读者更好的对消息投递函数加以理解。详情如下: 一、WM_CLOSE、WM_DESTROY、WM_QUIT区别 WM_CLOSE:关闭应用程序窗口 WM_DESTROY:关闭应用程序...

2020-08-03 14:07:08 77 0

原创 c++ while(condition) 中condition的一些思考

前言 再来看一个c++的基础性问题,while循环,一个再熟悉不过的c++语法,一直只知道使用,对于他的一些使用细节缺少认知,下面先看一下基本语法(摘自菜鸟教程) 语法 C++ 中while循环的语法: while(condition) { statement(s); } 在这里...

2020-08-03 14:03:35 117 0

转载 C++线程同步的四种方式(Windows)

一、为什么要进行线程同步? 在程序中使用多线程时,一般很少有多个线程能在其生命期内进行完全独立的操作。更多的情况是一些线程进行某些处理操作,而其他的线程必须对其处理结果进行了解。正常情况下对这种处理结果的了解应当在其处理任务完成后进行。如果不采取适当的措施,其他线程往往会在线程处理任务结束前就去...

2020-07-31 14:13:52 98 0

转载 VC下线程同步的四种方法详解

前言 使线程同步   在程序中使用多线程时,一般很少有多个线程能在其生命期内进行完全独立的操作。更多的情况是一些线程进行某些处理操作,而其他的线程必须对其处理结果进行了解。正常情况下对这种处理结果的了解应当在其处理任务完成后进行。   如果不采取适当的措施,其他线程往往会在线程处理任务结束前...

2020-07-31 11:52:18 132 0

转载 windows编程系列知识

本文转载自:https://blog.csdn.net/MoreWindows 感谢作者的分享 为了方便大家查找和学习,现将本人博客中所有博客文章列出目录。 一. 白话经典算法 目前有17篇,分为七大排序和经典面试题讲解两大类 1. 《白话经典算法系列之一 冒泡排序的三种实现》 2. ...

2020-07-31 11:34:34 65 0

原创 ShellExecute打开外部程序并输入相应参数

前言 ShellExecute函数常被用来打开外部程序,这是很常用的功能,但是对打开的程序附加命令这个没使用过,其实函数本身包含这个参数。 函数原型: 注意事项:使用该函数时,需添加该头文件:[1] #include <shellapi.h> #include<wind...

2020-07-30 19:22:38 191 0

转载 VC++ 窗口拆分CSplitterWnd

前言   当前许多优秀的软件都采用“多视”技术。 所谓“多视”,是指在同一个框架窗口里同时显示多个视图。 通过运用这种技术,可以在框架的有限控件内同时提供用户更大的信息量,并且使得用户界面更加友好,增强软件的可操作性。 拆分类型 MFC支持两种类型的拆分窗口:静态的和动态的。   ...

2020-07-30 17:58:34 59 0

转载 WinInet 错误代码 (12001 - 12156 )

以下是从微软查找的wininet的函数错误码简介 http://support.microsoft.com/kb/193625 Microsoft Win32 互联网 (WinInet) API 提供了独立的应用程序方便地访问 Gopher、 FTP 和 HTTP 等标准的互联网协议。W...

2020-07-30 09:38:37 78 0

原创 进程互斥(当前程序已运行!)

实现功能,当程序已经运行时,禁止另外开启一个同样的程序,这时可以使用进程互斥实现。 在windows下: #include "windows.h" #include "stdio.h" int main() { HANDLE m_hMutex = C...

2020-07-28 17:22:14 56 0

转载 红黑树c++实现

红黑树的实现文件(RBTree.h) /** * C++ 语言: 红黑树 * * @author skywang * @date 2013/11/07 */ #ifndef _RED_BLACK_TREE_HPP_ #define _RED_BLACK_TREE_HPP_ #in...

2020-07-12 21:14:57 73 0

提示
确定要删除当前文章?
取消 删除