C++
Hi斩月
这个作者很懒,什么都没留下…
展开
-
复习下MFC SOCKET的操作
看到这个文章的 基于MFC平台实现SOCKET通信,觉得不错。但是代码不完整,于是发了点时间实现全部代码。Cline 为服务器代码,负责接收客户端。lineClient 为客户端代码,负责连接服务器。1、上线通知2、客户端下线通知3、sokcet通信.........原创 2022-07-07 12:57:27 · 423 阅读 · 0 评论 -
最长不重复字符串 C/C++
最长不重复字符串万能的遍历法遍历法优化说明万能的遍历法没有用到啥高深的算法,遍历就是了。#include "stdafx.h"#include <stdio.h>#include <string.h>#include <stdlib.h>// 有无重复字符bool ContainRepeatCh(char* str){ char* temp = str; int nlen = strlen(str); for (int i = 0; i <原创 2020-07-09 15:04:03 · 485 阅读 · 0 评论 -
VS2017编译libcef 2623_20181107完成
为什么使用VS2017编译?因为VS2017更强大,编译速度更快,C++支持性最好。VS2013无法编译libcef2623,C++新语法部分不支持,需要安装sp4补丁。方便与其他VS2017项目整合。VS2017编译完的lib,测试VS2013,VS2015也能使用使用。已经有编译过Chrome,libcef的经验和多年的编译经验判断,VS2017是更好的选择。 c...原创 2018-11-07 15:24:06 · 2213 阅读 · 10 评论 -
libcef编译错误Resource id not set for
VS2017编译libcef2623,出现了一个错误ninja: Entering directory `out\Release'[1/8137] ACTION Generating resources f.../browser/tracing/tracing_resources.grdFAILED: gen/content/browser/tracing/grit/tracing_re...原创 2018-11-08 15:59:50 · 341 阅读 · 0 评论 -
C++11实现的协程库,支持Win,Linux,Mac
C++11实现的协程库,支持Win,Linux,Mac。Fork Form https://github.com/mfichman/coro/commit/2d597a7ebe08bc28d91b98c942be17eb224b8853C++ 协程的消息还是挺少的,补充一份。协同程序(coroutine)简称协程协同程序参考Lua中协同程序的介绍http://www.runoob.co...原创 2018-12-20 10:04:51 · 4040 阅读 · 0 评论 -
无法定位程序输入点 GetLogicalProcessorInformation 与动态库 KERNEL32.DLL 上
起因: 在XP SP2上运行程序,程序报错误。原因: GetLogicalProcessorInformation 从XP SP3开始加入,以前的系统不支持。在VS2013中搜索代码,并没有使用这个API,也使用XP兼容模式编译。原因C++ 11中的线程类中使用了这个API解决方法: http://forums.euw.leagu...原创 2018-12-24 15:07:55 · 17152 阅读 · 5 评论 -
Hash array mapped trie(HAMT) HASH算法
Trie树,即字典树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。Trie的核心思想是空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。 HAMT实现了几乎类似哈希表的速度,同时更经济地使用...原创 2019-01-11 15:09:33 · 1223 阅读 · 0 评论 -
The 'Visual C++ Resource Editor Package' package did not load correctly.
VS2013 一直用的好好的,今天报错了,如下图所示网上百度,谷歌了下,也没有找到最终的解决方案。最后,偶然间分析发现是缺少文件的原因,下载文件,复制到C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcpackages。运行VS2013就可以了。资源文件下载地址:https://download.csdn.net/...原创 2019-05-30 11:33:53 · 840 阅读 · 1 评论 -
ip地址转换htonl的用法
说明u_long PASCAL FAR htonl ( __in u_long hostlong);htonl(将32位主机字符顺序转换成网络字符顺序)(用于IP的转换)IP转换为数值unsigned long StrIpToValue(const char* strIp){ //255.255.255.255 char buf[16] = { 0 }; int nMin = mi...原创 2019-06-13 16:19:11 · 4666 阅读 · 0 评论 -
wincap支持VC6.0的版本下载
#### VC6.0无法使用新版的原因WinCap4.x使用了C/C++99的标准,VC6.0不支持。####使用方式#define WPCAP#define HAVE_REMOTE#include <pcap.h>#### VC6.0成功使用版本WinCap3.1#### Wincap4.x 使用#define _WIN64#includ...原创 2019-06-11 11:57:11 · 359 阅读 · 0 评论 -
duilib 圆形头像控件
原图,图片来源网络效果图#pragma once#include "..\UiLib\UIlib.h"using namespace DuiLib;#include <gdiplus.h>class CElipsePhotoUI : public CControlUI{public: CElipsePhotoUI(); virtual ~CElipsePhotoUI(...原创 2018-05-28 08:44:20 · 1288 阅读 · 0 评论 -
C++ 圆形头像
原图,图片来源网络效果图 int nWidth = this->GetWidth(); int nHeight = this->GetHeight(); RECT rt = this->GetPos(); // 内存位图画板,多留2个像素,避免被边框切掉 Bitmap bitmapTmp(m_bkGDIPimage->GetWidth()+2,m_bkGD...原创 2018-05-25 17:57:55 · 1533 阅读 · 0 评论 -
duilib 分屏显示bug
在分屏窗口中最大化,点击任务栏切换最大,最小化,出现图1情况。图1Demo说明:从WindowImplBase派生出来的窗体,未重写父类方法。注意:分屏的显示器分辨率大于电脑主显示的分辨率。Bug原因:LPMINMAXINFO的结构体数据赋值错误。解决方法:修改两个地方LRESULT WindowImplBase::OnGetMinMaxInfo(UINT uMsg, WPARAM wPa...原创 2018-05-13 08:45:41 · 718 阅读 · 0 评论 -
CTime 和CString的互相转换
CTime 和CString的互相转换CTime的格式有三种 short date:1990-10-10 long date:1990年10月1日 time: 8:30:10 引用 MSDN中CTime转换为CString // example for CTime::Format and CTime::FormatGmt CTime t( 1999, 3, 19, 22,原创 2015-08-02 10:11:58 · 1596 阅读 · 0 评论 -
C 编码转换 ,包括ANSI,UNICODE,UTF-8,UniBigEnd(含源码下载)
C 编码转换 源码,包括ANSI,UNICODE,UTF-8,UniBigEnd于是自己也做了一个,使用了VC6,配合了一些网络上的代码。下面是工程截图。下面是运行结果截图:最重要的源码分享:原创 2015-11-13 17:56:49 · 1204 阅读 · 0 评论 -
C/C++控制台安全退出,2018年最新方法
非正常退出:退出的结果:bool g_bExit = false;HANDLE g_hEvent = INVALID_HANDLE_VALUE;BOOL CALLBACK CosonleHandler(DWORD ev){ BOOL bRet = FALSE; switch (ev) { // the user wants to exit. case CTRL_CLOSE_E...原创 2018-04-16 23:01:37 · 2490 阅读 · 1 评论 -
DialogBox使用例子
// 在做一个demo时候,使用DialogBox,弹了个MessagBox,怎么也关闭不了。// 找了半天也不知道问题在哪里。// 最终重新使用VC6建立了个win32工程,发现里面的about窗口的消息是// 没有调用手动 return DefWindowProc(hWnd, msg, wParam, lParam);//提供一个测试通过的模板,控件消息正常,关闭正常#include <...原创 2018-03-29 16:36:56 · 9440 阅读 · 4 评论 -
CreateDialog的使用例子
// 在做一个demo时候,使用DialogBox,弹了个MessagBox,怎么也关闭不了。// 找了半天也不知道问题在哪里。// 最终重新使用VC6建立了个win32工程,发现里面的about窗口的消息是// 没有调用手动 return DefWindowProc(hWnd, msg, wParam, lParam);//提供一个测试通过的模板,控件消息正常,关闭正常#include <...原创 2018-03-29 16:38:39 · 6710 阅读 · 0 评论 -
判断程序自身是运行32位还是64位
// 在做驱动和应用层通信时,两个程序必须都是32位或者64位的。(可能32位和64位的驱动可以通信,未了解。)// 但是64位下可以运行32位的程序,导致与驱动的通信失败,于是干脆就加了个判断自身是否是32位还是64位。bool IsApp64(){ int nNum = 0; int nSize = sizeof(&nNum); if (nSize == 8) { ret...原创 2018-03-29 16:49:40 · 2548 阅读 · 1 评论 -
Duilib 阴影问题,阴影bug
最大化时出现bug,如图1所示。图1 重现方式:运行软件,最小化,点击任务栏显示;点击最大化,在点击最小化;在点击任务栏显示。就出现图1的情况了。 Demo说明:Demo是直接从WindowImplBase派生出来的,没有重写WindowImplBase里的方法,直接使用了里面的方法。 这个bug修改比较简单,看界面就知道是阴影的大小没有刷新。修复方法: 添加阴影的...原创 2018-05-13 08:35:15 · 1225 阅读 · 0 评论 -
VS2008 fstream 编译出错的解决方法
今天在学习detours的使用,在编译一个程序时提示了错误! 1>—— 已启动生成: 项目: Detours_test, 配置: Release Win32 —— 1>正在编译… 1>Detours MsgBox.cpp 1>.\Detours MsgBox.cpp(4) : fatal error C1083: 无法打开包括文件:“fstream.h”: No such fi原创 2015-08-07 17:24:33 · 1410 阅读 · 0 评论