![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
只要思想不滑坡
这个作者很懒,什么都没留下…
展开
-
c/c++代码获取网络时间(从NTP授时服务器获取)
有时候需要获取网络时间,有没有自己的服务器去返回,那么可以考虑从NTP授时服务器获取,windows的同步网络时间就是从NTP授时服务器获取的。代码比较粗糙,比如没有加winsock2.h等头文件,比如没有WSACleanup()等,NTP授时服务器协议采用UDP,端口一般为123,下面给出从github上整理的代码,代码我是在win下面跑的,一切正常。linux和unix下,稍微改改也可以跑。,授时服务器地址选用的是阿里云的公共NTP服务器。原创 2022-08-20 09:50:03 · 4874 阅读 · 0 评论 -
HEAP CORRUPTION DETECTED 内存错误的一个原因
今天写demo代码的时候,忽然free释放时候的报错。错误内容大致是:HEAP CORRUPTION DETECTED: after Normal block (#577) at 0x02F01BA0.CRT detected that the application wrote to memory after end of heap buffer.示例代码大概是这样wchar_t* ptr = (wchar_t*)malloc(8*sizeof(wchar_t));wcscpy(ptr,原创 2021-02-25 19:28:39 · 538 阅读 · 0 评论 -
AlphaBlend失败,错误码87
如题,写测试程序的时候遇到了AlphaBlend函数失败,使用getlasterror获取错误码是87。找错找了好久,下面记录下。1.源DC的位图不是32位的。源DC就是指该函数的第二个HDC,第一个是目标DC,这个在微软的BLENDFUNCTION结构体说明(见msdn)里有提到。排查起来也容易,利用BITMAP bmp;GetObject(hBitmap, sizeof(BIT...原创 2020-03-04 17:30:42 · 944 阅读 · 0 评论 -
根据乱码分析编码错误原因
名称 示例 特点 产生原因 古文码 鐢辨湀瑕佸ソ濂藉涔犲ぉ澶╁悜涓? 大都为不认识的古文,并加杂日韩文 以GBK方式读取UTF-8编码的中文 口字码 ����Ҫ�¨²�ѧϰ������ ...转载 2019-08-21 14:42:15 · 12852 阅读 · 0 评论 -
(转载)VC的内存泄漏检查
原文链接:https://blog.csdn.net/psbeond/article/details/99546363日期: 2016-12-20参考:MSDN:ms-help://MS.MSDNQTR.v90.chs/dv_vsdebugnative/html/cf6dc7a6-cd12-4283-b1b6-ea53915f7ed1.htm通过在MSDN中输入:DEBUG_NEW,可...转载 2019-08-14 10:46:25 · 254 阅读 · 0 评论 -
不定义大量的消息宏实现事件与处理关联起来(避免写很多消息宏定义和消息映射)
标题也许不恰当,不必在意。本文主要是记录一种 消息(事件)==》消息响应(事件处理)的映射方式,避免使用大量的消息宏定义。对于传统的win32窗口、或者mfc窗口、或者duilib窗口等,常见的使用场景比如:工作线程执行某个函数处理=》处理完毕通知主线程(UI线程)=》主线程收到通知做出对应的处理在这个过程中,通知主线程通常使用PostMessage或者SendMessage等函数来发...原创 2019-07-31 16:30:14 · 333 阅读 · 0 评论 -
子窗体不会触发WM_LBUTTONDOWN,只会触发WM_LBUTTONUP消息的原因
这里感谢下https://blog.csdn.net/wyy1991990/article/details/19629831文章的作者,要不是这篇文章,我简直要怀疑人生了。子窗口无法响应WM_LBUTTONDOWN消息,但是响应WM_LBUTTONUP,原因是和父窗口处理WM_NCACTIVATE相关。下面是另外一篇文章的关于这个消息的说明,不确定是否准确当WM_NCACTIVAT...原创 2019-07-22 15:47:11 · 2588 阅读 · 0 评论 -
编译兼容xp系统的libcurl:MT编译+动态库
目标:编译出libcurl动态库,使用MT编译选择不依赖运行时库,能够在xp系统中调用,支持gzip和https编译的目标库和版本:brotli-1.0.7、c-ares-1.14.0、libssh2-1.9.0、nghttp2-1.39.1、openssl-1.1.1c、zlib-1.2.11、curl-7.65.1简单给出了各个库的编译流程和编译好的dll+libgithub仓库地...原创 2019-07-10 10:05:58 · 1367 阅读 · 0 评论 -
获取固定到任务栏的快捷方式的图标
这是之前不知道从哪里找到的demo代码,是获取固定到任务栏的快捷方式的图标信息的。也就是将此程序锁定到任务栏后,通过下面的代码可以获取到锁定到任务栏的信息。相信也可以实现锁定到任务栏,我这里仅仅是搬运过来备忘。代码实测可以运行。#include <stdio.h>#include <stdlib.h>#include <locale.h>#inclu...转载 2019-06-24 10:44:22 · 1116 阅读 · 0 评论 -
关于编译报错 语法错误 : “L_TYPE_raw” 的一个原因
最近在将CSmtp类添加到个人工程中时,编译遇到了 语法错误 : “<L_TYPE_raw>” 报错。但是测试demo跑的好好的。看报错定位是其自带的MD5类中的头文件的中的一行成员函数代码。猜测是因为函数名是单个字母造成的,F,G,H,I等函数,遂修改为Ffunc,Gfunc,Hfunc,Ifunc。编译通过。...原创 2018-11-06 12:05:47 · 1091 阅读 · 0 评论 -
关于uint8_t、uint_least8_t、uiuint_fast8_t等说明
在vs2017的编译器里,可以直接识别int8_t、int16_t、int32_t、int64_t、uint8_t、uint16_t、uint32_t、uint64_tint_least8_t、int_least16_t、int_least32_t、int_least64_t、uint_least8_t、uint_least16_t、uint_least32_t、uint_least64...原创 2018-10-11 14:40:37 · 6771 阅读 · 2 评论 -
使用UpdateLayeredWindow的窗口在某些系统上显示不出来的一个可能原因
转载 2018-02-28 18:31:57 · 1576 阅读 · 0 评论 -
CreateProcess 创建带命令行参数的进程时,报错或者提示内存位置无效的可能的一个原因
可能的一个原因:命令行参数使用了常量。例如:CreateProcess(NULL, "notepad",NULL,NULL,FALSE,CREATE_NO_WINDOW,NULL,NULL,&si,&pi);解释:pszApplicationName和pszCommandLine分别表示进程使用的可执行文件名和向其传递的命令行字符串,注意pszCommandLine是PTSTR原创 2017-07-15 15:25:07 · 3069 阅读 · 1 评论 -
消除IE stop running this script弹出框
问题描述和分析:IE跳出了stop running this script的提示, 提示如下: Stop runningthis script? A script on thispage is causing your web browser to run slowly. If it continues to run, yourcomputer might become unrespo转载 2015-12-08 10:30:53 · 2860 阅读 · 0 评论 -
__declspec(dllexport)和__declspec(dllimport)
1、解决的问题: 考虑下面的需求,使用一个方法,一个是提供者,一个是使用者,二者之间的接口是头文件。头文件中声明了方法,在提供者那里方法应该被声明为__declspec(dllexport),在使用者那里,方法应该被声明为__declspec(dllimport)。二者使用同一个头文件,作为接口,怎么办呢?2、解决办法: 使用条件编译:定义一个变量,针对提供者和使用者,转载 2015-12-08 11:43:08 · 407 阅读 · 0 评论