12 2019 档案

摘要:View和Doc由Frame来进行管理 (这些知识遇到去,对比查一下,就会加快阅读代码的速度).而文档模板DocTemplate将三者联系起来了. 单文档时框架窗口用CFrameWnd, 多文档时用CMDIFrameWnd和CMDIChildWnd. MDI子窗口(CMDIFrameWnd)与典型的 阅读全文
posted @ 2019-12-29 15:55 心媛意码 阅读(450) 评论(0) 推荐(0) 编辑
摘要:1.调试string类型变量时,显示"bad_ptr",有可能只是没有解析出来,可以尝试看下打印结果. 2.今天发现原来VS在属性-》C/C++中有“强制包含头文件”的选项。 3.VS中会用到tlb文件。tlb文件是一个说明文件,通过TLB文件,用户可以得知你的DLL中的COM接口以及常量等信息。 阅读全文
posted @ 2019-12-28 16:03 心媛意码 阅读(180) 评论(0) 推荐(0) 编辑
摘要:消息映射机制是Windows编程的核心内容。Windows下的应用程序也都是通过消息驱动的机制来进行工作的。虽然VC开发环境自带了大量的系统消息处理函数,但我们实际的程序开发过程中总还是避免不了要写一些自定义的消息处理函数以满足所编写的软件功能的需要。那么在VC中如何定义自己的消息处理函数呢?其步骤 阅读全文
posted @ 2019-12-28 15:38 心媛意码 阅读(513) 评论(0) 推荐(0) 编辑
摘要:ON_COMMAND ON_MESSAGE ON_NOTIFY 处理WM_COMMAND类型的消息 可以处理所有的windows消息,格式是ID,wparam,lparam 处理控件向其父窗口发送的消息 可以用ON_MESSAGE来表示另外两个,但是要做别的额外的操作 WM_COMMAND WM_C 阅读全文
posted @ 2019-12-28 15:37 心媛意码 阅读(433) 评论(0) 推荐(0) 编辑
摘要:需要注意三点: 1.手工初始化内置型的非成员对象 2.使用初始化成员列表对付对象的所有成员 3.对"初始化顺序不确实"的问题要注意自己的设计. 这里重点介绍下第三种的情况: 下面的tfs会在外部文件b.cpp中使用,但是当前这种写法不能够保证tfs在b.cpp中使用时已经被初始化了,这样就会造成问题 阅读全文
posted @ 2019-12-22 22:51 心媛意码 阅读(216) 评论(0) 推荐(0) 编辑
摘要:https://www.jianshu.com/p/fe4b6b95dca5 注意点:由于使用到了Graphviz,所以要设置Dot选项,勾选HAVE_DOT,并设置DOT_PATH为Graphviz的bin目录。 阅读全文
posted @ 2019-12-21 17:38 心媛意码 阅读(751) 评论(0) 推荐(0) 编辑
摘要:参考文章:https://blog.csdn.net/water_0815/article/details/54959062 在此基础上增加了窗口后台运行的功能,解决了自己的强迫症. 阅读全文
posted @ 2019-12-21 16:53 心媛意码 阅读(592) 评论(0) 推荐(0) 编辑
摘要:1.lib项目不生成pdb文件,没搜到多少信息,可以把lib换成静态库去搜索. 2.搜索免安装的软件去搜索portable,英文不怎么骗人,如果搜索中文,很多挂羊头卖狗肉的. 阅读全文
posted @ 2019-12-21 16:44 心媛意码 阅读(128) 评论(0) 推荐(0) 编辑
摘要:同理CreateProcess也是类似的,不过它的取值类型更多,网上没有介绍dwCreationFlags为0的情况,估计和线程一样的。 阅读全文
posted @ 2019-12-18 22:08 心媛意码 阅读(2537) 评论(0) 推荐(0) 编辑
摘要:尽管 C 和 C++ 都已经有标准,但是几乎每个编译器 (广义,包含连接器等) 扩展一些 C/C++ 关键字。 合理地应用这些关键字,有时候能使我们的工作非常方便。下面随便说说 Visual C++ 中 #pragma 指示符的使用。 一、用#pragma导出DLL函数 传统的到出 DLL 函数的方 阅读全文
posted @ 2019-12-13 21:20 心媛意码 阅读(537) 评论(0) 推荐(0) 编辑
摘要:最近在找windows下比较好用的函数时间统计的库,听同事说gperftools是跨平台的,就下载下来尝试了一把.发现它确实实现了windows上可以调用的dll库文件(tcmalloc_minimal,VS2015下的工程),而自己想要用到的ProfilerStart()和ProfilerStop 阅读全文
posted @ 2019-12-13 20:50 心媛意码 阅读(707) 评论(1) 推荐(0) 编辑
摘要:STL中,对内存管理的alloc的设计,迫使我去学习了allocator类。这里对allocator内存管理做了点笔记留给自己后续查阅。allocator类声明、定义于头文件<memory>中的std命名空间内。所以,应该有以下内容位于文件头部… #include <memory> using na 阅读全文
posted @ 2019-12-12 23:16 心媛意码 阅读(570) 评论(0) 推荐(0) 编辑
摘要:1、查看版本信息:version、vertarget。 2、查看模块信息:lm、!dlls、!lmvi等。 3、调用栈:用k命令显示调用栈,用.frames命令切换栈帧。 4、内存操作:读内存用d命令,写内存用e命令。 5、自动分析:!analyze、!owner等。 6、符号命令:.reload加 阅读全文
posted @ 2019-12-11 23:02 心媛意码 阅读(266) 评论(0) 推荐(0) 编辑
摘要:在程序开发时有时需要获取线程和进程ID以分析程序运行 (1)windows下获取进程或线程ID 通过调用系统提供的GetCurProcessId或GetNowThreadID来获取当前程序代码运行时的进程或线程ID 示例代码: #include "windows.h" printf("now pid is %d", GetCurrentProcessId()); printf("now tid... 阅读全文
posted @ 2019-12-08 20:33 心媛意码 阅读(8782) 评论(0) 推荐(0) 编辑
摘要:数据的初始化显示刚开始写在onupdate中,文档类中的数据更新之后,希望通过调用UpdateAllViews(FALSE)来实现视图的更新,可以实现!后来觉得不妥,想把初始化显示写在ondraw中,onupdate另有他用,结果框架调用onupdate之后却并不调用ondraw,可在另一个相同程序 阅读全文
posted @ 2019-12-05 21:38 心媛意码 阅读(465) 评论(0) 推荐(0) 编辑
摘要:SendMessage PostMessage 过程类型 同步过程:等待其他程序处理消息完了之后才返回,继续执行 异步过程:只把消息放入队列,不管其他程序是否处理都返回,然后继续执行 返回值 表示其他程序处理消息后的返回值 表示PostMessage函数执行是否正确 同一线程中时 系统直接调用目标窗 阅读全文
posted @ 2019-12-03 22:20 心媛意码 阅读(229) 评论(0) 推荐(0) 编辑
摘要:发现BUG后开发人员fix bug后,测试人员针对该问题进行测试,冒烟测试的成功与否关系到下一步系统测试能否进行。 与系统测试不同:前者覆盖范围不够,只要保证修改部分及其关联的模块不出问题就可。 冒烟测试和回归测试的区别: 冒烟测试是保证新开发功能的正确性。而回归测试,则是,相对新功能的原有系统的正 阅读全文
posted @ 2019-12-03 22:09 心媛意码 阅读(230) 评论(0) 推荐(0) 编辑
摘要:Windows线程分为两种:Worker线程、GUI线程 worker线程:是指完全不牵扯到图形用户界面(GUI),纯粹做运算的线程。 GUI线程:负责建造窗口以及处理消息循环(拥有消息队列)。任何一个特定窗口的消息总是被产生这一窗口的线程抓到并处理(线程收到消息后派发给不同的窗口函数处理)。 操作 阅读全文
posted @ 2019-12-03 11:32 心媛意码 阅读(705) 评论(0) 推荐(0) 编辑
摘要:1. 怎样使用MFC发送一个消息用MFC发送一个消息的方法是, 首先,应获取接收消息的CWnd类对象的指针; 然后,调用CWnd的成员函数SendMessage( )。 LRESULT Res=pWnd->SendMessage(UINT Msg, WPARAM wParam, LPARAM lPa 阅读全文
posted @ 2019-12-03 10:37 心媛意码 阅读(1578) 评论(0) 推荐(0) 编辑
摘要:.OnCommand是响应WM_COMMAND消息的,一般是响应控件和菜单的命令消息时使用。 如果 WM_COMMAND 来自控件的话 lParam 就是发送这个 WM_COMMAND 消息的控件的句柄,否则为 0 。使用既然知道 wParam 的低位表示菜单项、控件、或者快捷键的 ID 值,那么我 阅读全文
posted @ 2019-12-03 10:24 心媛意码 阅读(1051) 评论(0) 推荐(0) 编辑
摘要:设两个进程共用一个临界资源的互斥信号量mutex=1,当mutex=-1时表示()。 一个进程进入了临界区,另一个进程等待 没有一个进程进入临界区 两个进程都进入临界区 两个进程都在等待 互斥信号量不采用自旋锁的方式实现,mutex初始值为1,当一个准备进入临界区时,mutex - 1 = 0,该进 阅读全文
posted @ 2019-12-02 22:49 心媛意码 阅读(1874) 评论(0) 推荐(0) 编辑
摘要:CreateMutex函数 该函数找出当前系统是否已经存在指定进程的实例。如果没有则创建一个互斥体。 CreateMutex()函数可用来创建一个有名或无名的互斥量对象,其函数原型为: HANDLE CreateMutex( LPSECURITY_ATTRIBUTESlpMutexAttribute 阅读全文
posted @ 2019-12-02 22:46 心媛意码 阅读(559) 评论(0) 推荐(0) 编辑
摘要:原文链接:https://www.jianshu.com/p/c2dede157c5a 什么是重构? 在我进行了一次相对完整的代码重构之前,没有系统地学习过重构的整体要求与细节要求,所以,我的这次代码重构是在非客观性的条件下进行的,可能是我自己意识到原来的代码可读性很低,或者发现了有很多的地方是值得 阅读全文
posted @ 2019-12-02 21:30 心媛意码 阅读(294) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示