- 博客(7)
- 收藏
- 关注
原创 关于IOCP(IO完成端口)服务器在X86与X64下异常报错解决
问题:在X64 GetQueuedCompletionStatus获取消息对象PULONG_PTR越界报错 在X86下没有此问题 解决思路 GetQueuedCompletionStatus()的作用 在扫描完成端口的队列里是否有网络通信的请求存在(例如读取数据,发送数据等),一旦有的话,就将这个请求从完成端口的队列中取回来,继续执行处理代码 GetQueuedCompletionStatus()的数据来源 绑定Socket到一个完成端口的时候,用的CreateIoCompletionPort()函数,传
2022-01-04 11:19:39
1531
2
原创 关于IOCP内存泄漏查找思路和结论
关于IOCP内存泄漏查找思路和结论IOCP问题解决思考流程服务器涉及技术IOCP 完成端口框架JSON数据格式mysql数据库VS快照内存分析总结分析结果总结 IOCP问题解决思考流程 从IOCP服务器压力测试中,出现服务器死机蓝屏,服务器程序重启。引发对问题的分析和解决 服务器涉及技术 对服务器设计技术的整理,有助于更快定位内存泄漏的位置,更模块化的分析服务器,有助于完善整个框架: IOCP 完成端口框架 ,C/S模式网络服务器端,充分利用Windows内核来进行I/O的调度,支持高并发数据通信处理;
2021-12-03 16:42:16
592
原创 关于C++连接Oracle出现IDispatch error之类问题解决汇总
关于数据库的操作方法点击打开:C++连接Oracle之ADO 大部分异常都是由于SQL语句错误导致的,以下列出几种常见错误: 1.SQL语句内容缺失’’,例如 insert into AA ( NUM1,NUM2,NUM3,) values (' 12','34',56) 2.使用insert但是在表中已经有当前数据也会报错 3.使用查询SQL语句返回的内容过多也会报错 4.数据库SQL语句中有时间,时间错误也会导致报错 5.使用查询语句要注意,可能查询到空返回,需要对返回进行判断是否不为空 commP
2021-01-27 15:34:02
769
原创 MFC封装功能成动态库相关问题汇总记录
MFC封装功能动态库所遇问题汇总从库的创建到调用过程无法定义 dllimport 实体 Password调用动态库显示动态库窗体得到句柄为空且无法显示窗体头停止点不能位于宏或 #if 块中fcs140ud.lib(dllmodul.obj) : error LNK2005: _DllMain@12 已经在 dllmain.obj 中定义/找到一个或多个多重定义的符号 从库的创建到调用过程 基本的创建过程可以从很多地方查询得到,这里主要记录在VS2017 Debug X86开发过程中发生的各种异常问题解决。
2020-12-30 15:22:38
695
原创 c++ libxml2读取UTF8-BOM编码格式的XML文件引发的问题
C++中调用libxml2参考:c++中使用libxml2读取xml文件的方法 其中打开XML文件代码如下 doc = xmlReadFile(szDocName,"UTF-8",XML_PARSE_RECOVER); //解析文件 当XML文件以UTF8-BOM编码格式保存时,会出现错误提示: Start tag expected, ‘<’ not found 锘??xml version=“1.0” encoding=“utf-8”?> 通过此提示可以知道文件存在其他字符 通过十六进制打开文
2020-12-22 17:45:04
878
原创 对CXListCtrl的项ComboBox显示值改变的响应方法
文章目录前言一、开发需求二、寻找解决方法1.用ComboBox的CBN_SELCHANGE消息进行尝试2.考虑XListCtrl是否有自带的响应消息A.获得WM_XLISTCTRL_COMBO_SELECTION消息B.尝试进行消息绑定和获取C.对CXListCtrl源码分析D.ON_REGISTERED_MESSAGE自定义消息绑定接口解决方法 前言 在开发过程中,使用XListCtrl来丰富列表的使用,从而发现对项ComboBox的改变响应没有好的方法入手,既有一下问题过程,现解决记录互相分享,下拉到
2020-12-11 18:45:23
911
原创 MFC PreTranslateMessage响应控件获取方法
MFC PreTranslateMessage控件响应相关 在开发中对控件进行对应的回车消息时,在PreTranslateMessage中去获取发出消息的控件,来实现对控件的其他响应操作。 以控件ID(IDC_EDIT1),控件变量m_edit为例子。 1.HWND mhwnd = (CEdit*)GetDlgItem(IDC_EDIT1))->GetSafeHwnd() 获取到的mhwnd 为空,无法实现 2.long nStyle = GetWindowLong(pMsg->hw...
2020-12-09 17:16:07
876
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅