VC++
Butterfly_Dreaming
这个作者很懒,什么都没留下…
展开
-
STL condition_variable一个bug
测试STL的 condition_variable 发现一个BUGVS2019运行如下代码时// condition_variable::wait_for example#include <iostream> // std::cout#include <thread> // std::thread#include <chrono> // std::chrono::seconds#inclu.原创 2020-09-09 21:43:37 · 367 阅读 · 0 评论 -
MFC文件的一个链接错误
记录遇到的一个诡异的编译问题使用ButtonST的时候,一个工程没有问题,当一个新的工程使用的时候,提示找不到CreateFile 和GetObject函数,但是这个两个函数在WINDOWS.H头文件里面肯定有的,花了好长时间,发现是链接到 POCO库里面去了,POCO的头文件污染了MFC的WINDOWS头文件所有在使用外部三方库或者类的时候,尽量不要在C源文件里面引用,不要...原创 2019-07-23 23:42:25 · 185 阅读 · 0 评论 -
CTRLLIST用法
m_ctlList.EnableGroupView(TRUE);LVCOLUMN lv;lv.mask = LVCF_WIDTH | LVCF_TEXT;lv.cx = 300;lv.pszText = L"xxx";m_ctlList.InsertColumn(0, &lv);m_ctlList.InsertColumn(1, &lv);UINT nG原创 2014-08-14 00:29:47 · 1907 阅读 · 0 评论 -
UML类图关系大全
UML类图关系大全1、关联双向关联:C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法。在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设计模式内的类关系来说显得太抽象了,因为在设计阶段关联关系必须被映射为对象引用或指针。对象引用本身就是有向的,更适合表达我们所讨论的那种关系。所以这种关系在设计的时候比较少用到转载 2014-02-18 16:09:05 · 797 阅读 · 0 评论 -
#pragma
<br />关于对齐的概念,我这里有文档 <br />发给大家 <br />什么是对齐,以及为什么要对齐: <br />现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 <br />对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。其他平原创 2010-10-09 10:35:00 · 552 阅读 · 0 评论 -
C++内存泄露的问题
遇到一个很头疼的内存泄露的问题,调试的大半天才发现的,指针指向的对象1被delete了两次,而在VS2005中,debug中断的位置不是这个被多次delete的对象1,而是另外一个对象2,在释放它的时候,提示访问了未知的堆栈。虽然没有在内存中仔细进行调试,不过可以揣测出问题原因是,在多次释放对象1的时候,释放掉了对象2的资源,导致在释放对象2的资源的时候,访问未知的堆内存异常,而对象2在代码中原创 2013-09-04 00:59:27 · 750 阅读 · 0 评论 -
SendMessage和PostMessage 的区别,以及消息循环路由
一、下面示例函数func()中有PostMessage和SendMessageint MainWnd(...) { MSG msg; while(1) { //当没有消息时,GetMessage不返回,程序就停在这里 GetMessage(&msg,NULL,0,0) TranslateMessage(&msg); DispatchMessage(&转载 2013-08-22 20:06:04 · 3785 阅读 · 1 评论 -
使用管道来获取CMD命令的结果
UINT __cdecl ThreadProc(LPVOID lParam){ HWND hWnd = (HWND)lParam; ASSERT(hWnd); TCHAR szApp[MAX_PATH] = _T("ping www.csdn.net"); HANDLE hRead = NULL; HANDLE hWrite = NULL; SECURITY_ATTRIBUTES原创 2012-05-17 13:52:30 · 1410 阅读 · 0 评论 -
CToolTipCtrl使用详细解说
ToolTip是Win32中一个通用控件,MFC中为其生成了一个类CToolTipCtrl,总的说来其使用方法是较简单的,下面讲一下它的一般用法和高级用法。一般用法步骤:添加CToolTipCtrl成员变量 m_tt。在父窗口中调用EnableToolTips(TRUE);在窗口的OnCreate(或者其他适当的位置)中向ToolTip中添加需要显示Tip的子窗口,原创 2012-05-29 23:15:58 · 459 阅读 · 0 评论 -
串口通信
<br /><br />在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信。串口通信方便易行,应用广泛。<br />一般情况下,工控机和各智能仪表通过RS485总线进行通信。RS485的通信方式是半双工的,只能由作为主节点的工控PC机依次轮询网络上的各智能控制单元子节点。每次通信都是由PC机通过串口向智能控制单元发布命令,智能控制单元在接收到正确的命令后作出应答。<br /> 在Win32下,可以使用两种编程方式实现串口通信,其一是使用ActiveX控件,这种方法程序简转载 2010-12-09 11:39:00 · 783 阅读 · 0 评论 -
MultiByteToWideChar和WideCharToMultiByte用法详解
<br />//========================================================================<br />//TITLE:<br />// MultiByteToWideChar和WideCharToMultiByte用法详解<br />//AUTHOR:<br />// norains<br />//DATE:<br />// 第一版:Monday 25-December -2006<br />// 增补版转载 2010-09-26 11:01:00 · 562 阅读 · 0 评论 -
必备编程修养
<br />什么是好的程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是。对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快,只要编得多也就熟能生巧了。 <br />我认为好的程序员应该有以下几方面的素质: <br />1、有专研精神,勤学善问、举一反三。 <br />2、积极向上的态度,有创造性思维。 <br />3、与人积极交流沟通的能力,有团队精神。 <br />4、谦虚谨慎,戒骄戒燥。 <br />5、写出的代码质量高。包括:代码的稳定、易读、规范转载 2010-08-20 11:36:00 · 553 阅读 · 0 评论 -
VC下关于debug和release的不同的讨论
<br />create: 15:39 2002-12-20<br />modify: 13:56 2003-1-24<br />mail : zx_sanjin@163.com<br />qq : 923452<br />======================================================<br />在使用VC开发软件的过程中,正当要享受那种兴奋的时候突然发现:release与debug运行结果不一致,甚至出错,而release又不方便调试,真的是当头一棒啊,可是疼转载 2010-08-20 13:12:00 · 512 阅读 · 0 评论