
MFC
文章平均质量分 90
napu_sh
半路出家的机械师
展开
-
让程序在崩溃时体面的退出(合集)
-----------------------------------------------------------------------------------------------------------------------------让程序在崩溃时体面的退出之Unhandled Exception转自 http://blog.youkuaiyun.com/s转载 2012-02-06 11:00:41 · 1210 阅读 · 0 评论 -
两个小时学会DirectDraw编程 (转载)
转自http://blog.youkuaiyun.com/upwaker/article/details/43391 && http://dev.gameres.com/Program/Visual/2D/DDrawZL_1.htm这并非哗众取宠, 通常学习一种电脑技术有两种方法. 一种是自己摸索, 在错误的方向上一错再错, 屡战屡败, 不过最后得道成功. 另一种是有人 或好的材料指导, 因而事半功倍,转载 2012-06-21 15:10:23 · 2403 阅读 · 0 评论 -
Microsoft Visual C++ 浮点优化
转自 http://msdn.microsoft.com/zh-cn/library/aa289157(v=vs.71).aspx摘要:了解如何使用 Microsoft Visual C++ 2005(以前称为 Visual C++“Whidbey”)的浮点语义管理方法来优化浮点代码。创建快速程序,同时确保仅对浮点代码执行安全优化。本页内容 C++ 中的浮点代码转载 2012-05-25 10:30:22 · 1891 阅读 · 0 评论 -
MFC消息循环和消息泵
转自 http://blog.youkuaiyun.com/chinawash/article/details/1354358首先,应该清楚MFC的消息循环(::GetMessage,::PeekMessage),消息泵(CWinThread:: PumpMessage)和MFC转载 2011-09-02 14:40:31 · 679 阅读 · 0 评论 -
在Windows下使用OpenCL
转自 http://www.kimicat.com在Windows下使用OpenCL目前,NVIDIA 和 AMD 的 Windows driver 均有支援 OpenCL(NVIDIA 的正式版 driver 是從 195.62 版开始,而 AMD 则是从 9.11 版开始)。NVIDIA 的正式版 driver 中包含 OpenCL.dll,因此可以直接使用。A转载 2012-08-30 16:07:34 · 1361 阅读 · 2 评论 -
SSE指令介绍及其C、C++应用(2)
转自 http://blog.youkuaiyun.com/hikaliv/article/details/4264188http://blog.youkuaiyun.com/olncy/archive/2009/04/16/4084374.aspx作者:Alex Farber出处:http://www.codeproject.com/cpp/sseintro.aspSSE技术简介转载 2012-08-24 12:25:34 · 1110 阅读 · 0 评论 -
DLL中导出函数的两种方式
转自 http://blog.youkuaiyun.com/airjordan_1122/article/details/6176463经常使用VC6的Dependency查看DLL导出函数的名字,会发现有DLL导出函数的名字有时大不相同,导致不同的原因大多是和编译DLL时候指定DLL导出函数的界定符有关系。VC++支持两种语言:即C/C++,这也是造成DLL导出函数差异的根源一.转载 2012-10-24 16:56:54 · 960 阅读 · 0 评论 -
Windbg实用手册
转自http://www.8-du.net/Article/2009/0102/article_50009.html 介绍在我的职业生涯中,我看到我们大多数都是使用Visual Studio来进行调试,而不是用其它许多免费的调试器。你可能有许多理由来使用这样的调试器,比如,在你家里的机器上没装开发环境,但是一个程序一次次的崩溃。其实根据堆栈的dump就可以判断出IE的崩溃是否是由于一个第三转载 2009-05-13 09:32:00 · 882 阅读 · 0 评论 -
调试Release发布版程序的Crash错误
转自http://zhangyue1105.spaces.live.com/blog/cns!D5057BD1E4273698!1469.entry 如何手动生成Dump文件并分析Dump文件 大家都知道,当服务器出现蓝屏问题时,我们需要获取系统所产生的DUMP文件进行分析,如何确保在系统问题发生时,可以正确的生成所需要的DUMP文件呢?我们需要做如下检查:1)转载 2010-03-02 16:58:00 · 1340 阅读 · 0 评论 -
多线程编程杂谈
多线程编程原创 2013-07-11 18:50:20 · 2303 阅读 · 0 评论 -
预处理器指令 (合集)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------几个特殊的预处理器指令:#error,#line,#imp转载 2008-12-12 18:18:00 · 1385 阅读 · 0 评论 -
Window Api 及基础MFC类 (合集)
---------------------------------------------------------------------------------------------------------转自 http://www.cppblog.com/fwxjj/archive/2007/06/12/26150.htmlGetCurrentProces转载 2008-12-30 17:37:00 · 1058 阅读 · 0 评论 -
绘图时 关于WS_CLIPCHILDREN和WS_CLIPSIBLINGS的理解
转自http://www.cnblogs.com/helloj2ee/archive/2009/05/29/1491822.html 我是个喜欢瞎琢磨的人。尤其是这几天心情非常郁闷。于是开始琢磨了…….琢磨的问题就是WS_CLIPCHILDREN和WS_CLIPSIBLINGS两种窗口样式的理解。 1.求助MSDN我的第一步当然是求助MSDN。在MSDN里面有详细的转载 2010-12-02 12:31:00 · 776 阅读 · 0 评论 -
C++字符串完全指引 && 字符编码笔记:ASCII、Unicode、UTF-8、UTF-16、UCS、BOM、Endian (合集)
转自 http://www.blogjava.net/baicker/archive/2007/08/09/135642.html转自 http://witmax.cn/character-encoding-notes.html 写了n年程序,近来在字符串上栽了。:( 认真的研究了一些关于字符串的文章,在此记下。许多关于字符串的问题,在文章最后的参考文章中,相信有转载 2008-09-24 09:13:00 · 2936 阅读 · 0 评论 -
连接错误和警告处理
error LNK2019 调试一个算法库,在同事的机器上不可以,出现error LNK2019错误。比较工程和其他选项,都没异常。黔驴技穷之际,使用“/VERBOSE”选项。 (“/VERBOSE”链接器选项帮助查看链接器引用的文件。)发现同事目录下有两个算法库,程序调用了一个老的算法库版本。sigh,搞了2个小时,死去细胞无数。 DUMPBIN 实用工转载 2009-01-21 15:41:00 · 904 阅读 · 0 评论 -
INF文件格式说明
本文转自http://www.cppblog.com/tx7do/articles/8922.html INF 文件必须包含以下规则: 节( Sections )开始于由中括号 ([]) 扩起来的节名必须包含版本信息节以表明自己属于 win95 还是 winnt4 格式。值 (Value) 由 %strkey% 替代的表达式字符串表达组成, strkey 必须在转载 2010-08-24 00:05:00 · 742 阅读 · 0 评论 -
微软软件开发技术二十年回顾
转自 http://dev.yesky.com/msdn/362/2691862.shtml 今年11月,微软新一代的操作系统Vista即将正式发布,它将会极大地改变原有的Windows编程机制。近20年来,随着技术和应用的变化、发展,微软的开发技术也历经变迁。随着微软下一代开发平台vista即将发布,微软会把开发者引向何方? 自Windows 1.0问世到今年11月份,微转载 2010-09-26 16:30:00 · 1057 阅读 · 0 评论 -
VS与Win7共舞:系统服务的Session 0隔离
转自 http://tech.it168.com/a2009/0923/736/000000736809.shtml甲型H1N1流行,人人谈隔离而色变。好在我们今天谈的不是H1N1的隔离,而是系统服务的Session 0的隔离。 隔离,是为了更好的保护。但是,众所周知的,隔离也会给我们的生活带来一些不便。在Windows 7中,操作系统服务的Session 0隔离转载 2012-12-05 13:19:42 · 1094 阅读 · 0 评论 -
VS与Win7共舞:UAC惹祸 如何进行安装程序检测
转自 http://tech.it168.com/a2009/0921/734/000000734216.shtml“快说,你是不是安装程序?”操作系统问。 “我不是啊,长官。我虽然长得像,但是我真的不是安装程序啊!”,一个应用程序扮出一副可怜相,胆胆怯怯的回答道。 “不是?那为什么你的程序名中含有Install?”,操作系统以怀疑的眼光盯着他,“所有程序转载 2012-12-05 13:22:07 · 1020 阅读 · 0 评论 -
从程序设计角度看B/S C/S到底有什么不同
本文转自http://blog.youkuaiyun.com/xuexiaodong2009/article/details/6641603 网上人云亦云的东西就不重复了,没有价值,这里只谈几个对设计程序很关键的几个区别。1使用的技术不同 2速度不同 3安全转载 2011-08-03 21:37:50 · 764 阅读 · 0 评论 -
VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结
<br />转自 http://info.codepub.com/2008/07/info-20438.html<br /> <br /><br />SDN中对于在不同的配置下Link的LIB作了说明:<br />C Runtime Library:<br />开关<br />对应的库<br />版本<br />/MD<br />MSVCRT.LIB<br />多线程DLL的Release版本<br />/MDd<br />MSVCRTD.LIB<br />多线程DLL的Debug版本<br />/MT<b转载 2011-05-10 09:38:00 · 852 阅读 · 0 评论 -
Winsock服务器内存资源管理
转自 http://www.cppblog.com/sherrylso/archive/2008/02/03/42454.html 一般来讲, 在服务器上,如果有足够的资源,Winsock server,理论上可以支持成千的并发连接。而现实是,我们没有足够的资源可供使用,分配。本文主要来讨论一下内存资源之于Winsock server开发的重要性。一)基本概念。-> Pa转载 2010-02-04 12:34:00 · 634 阅读 · 0 评论 -
win32平台下malloc的实现
转自http://hi.baidu.com/numax/blog/item/ff9e3d0eeb1f7acf7acbe1cb.html 如果您不想看那一堆确实比较XX的汇编代码,我直接给您一个结论吧:1.malloc是如何实现的?malloc(Size)最终调用的是HeapAlloc(msvcrt!_crtheap,0,dwSize)2.msvcrt.dll使用到的堆是如何初始化的?msv转载 2010-02-03 16:10:00 · 1119 阅读 · 0 评论 -
用完成端口开发大响应规模的Winsock应用程序
转自 http://www.vckbase.com/document/viewdoc/?id=1732 通常要开发网络应用程序并不是一件轻松的事情,不过,实际上只要掌握几个关键的原则也就可以了——创建和连接一个套接字,尝试进行连接,然后收发数据。真正难的是要写出一个可以接纳少则一个,多则数千个连接的网络应用程序。本文将讨论如何通过Winsock2在Windows NT 和 Window转载 2010-02-04 12:38:00 · 635 阅读 · 0 评论 -
重叠I/O模型(1)
转自 http://blog.pfan.cn/xman/44361.html 一. 重叠I/O的概念及使用当调用ReadFile和WriteFile时,如果最后一个参数lpOverlapped设置为NULL,那么线程就阻塞在这里,直到读写完指定的数据后,它们才返回。这样在读写大文件的时候,很多时间都浪费在等待ReadFile和WriteFile的返回上面。转载 2010-02-04 16:17:00 · 1065 阅读 · 0 评论 -
Winsock 完成端口模型简介
转自 http://dev.youkuaiyun.com/article/81/81416.shtm “完成端口”模型是迄今为止最为复杂的一种I/O模型。然而,假若一个应用程序同时需要管理为数众多的套接字,那么采用这种模型,往往可以达到最佳的系统性能!从本质上说,完成端口模型要求我们创建一个Win32完成端口对象,通过指定数量的线程,对重叠I/O请求进行管理,以便为已经完成的重叠I/O请求提供转载 2010-02-04 12:36:00 · 550 阅读 · 0 评论 -
异地调用dll动态库的技巧
转自:http://www.alisdn.com/wordpress/?p=655 windows程序开发中,动态库(dll)一般都与exe放在一起,因为exe加载dll时只会在本地和系统目录进行查找。这样的dll可以进行隐式加载; 隐式加载dll比起显式加载来,好处就在于,需要导入的函数不用自己再来定义一遍;只需要编译之前指定lib文件即可;转载 2009-06-24 11:36:00 · 1139 阅读 · 0 评论 -
如何手工抓取dump文件
在生产环境下进行故障诊断时,为了不终止正在运行的服务或应用程序,有两种方式可以对正在运行的服务或应用程序的进程进行分析和调试。首先一种比较直观简洁的方式就是用WinDbg等调试器直接attach到需要调试的进程,调试完毕之后再detach即可。但是这种方式有个缺点就是执行debugger命令时必须先break这个进程,执行完debug命令之后又得赶紧F5让他继续运行,因为被你break住的时候转载 2009-05-13 18:13:00 · 1814 阅读 · 0 评论 -
Windows下return,exit和ExitProcess的区别和分析
通常,我们为了使自己的程序结束,会在主函数中使用return或调用exit()。在windows下还有ExitProcess()和TerminateProcess()等函数。本文的目的是比较以上几种结束程序的方式的区别,并分析其原理。 首先我们用一个例子来说明几种结束方式的区别。测试环境为Windows XP HOME SP2,编译器为Visual Studio.net 2003测试代转载 2009-02-03 15:23:00 · 1095 阅读 · 1 评论 -
在MFC中重载operator new需要注意的地方
前些日子在vs2005中新建了一个MFC工程,添加了一个类,并重载了该类的new操作符,整个类看起来就是下面这个样子:class Test{ public: Test(){}; virtual ~Test(){} void* operator new (size_t sz) { TRACE("/n operator new /n");转载 2009-01-14 10:16:00 · 1221 阅读 · 0 评论 -
堆和栈的区别
原文地址 http://community.youkuaiyun.com/Expert/topic/5004/5004296.xml?temp=.4819452 五大内存分区 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。转载 2009-01-04 16:19:00 · 687 阅读 · 0 评论 -
MFC多线程编程注意事项
本文转自 http://www.blogjava.net/wangxinsh55/archive/2008/05/28/203464.html 1. 表现——错误示例关于启动线程时传输窗口对象(指针?句柄?)的问题: 在选择菜单中的开始线程后: void cmainframe::onmenu_start() { ...转载 2008-12-30 17:39:00 · 1258 阅读 · 0 评论 -
多核机器上多线程内存敏感程序的可伸缩性
原文出处:http://www.codeproject.com/KB/cpp/rtl_scaling.aspx翻译此文也是一个学习的过程,因为在多CPU下的编程和单CPU下看起来区别巨大,就方向而言,OpneMP,MPI,TBB发展的都很快,当然快速也许就意味着一些技术会被淘汰。而本文只是对现有单核编程的改良,和上述方向无关,只是为了尽可能解决现有程序的问题,而尽量做最小改动。翻译 2010-02-22 21:19:00 · 3214 阅读 · 0 评论 -
利用VS2005进行dump文件调试
转自 http://blog.youkuaiyun.com/alicehyxx/archive/2009/07/14/4348140.aspx 前言:利用drwtsn32或NTSD进行程序崩溃处理,都可以生成可用于调试的dmp格式文件。使用VS2005打开生成的DMP文件,能很方便的找出BUG所在位置。本文将讨论以下内容:1、 程序编译选项2、 利用VS2005 分析dump文件3转载 2010-03-02 16:56:00 · 1109 阅读 · 0 评论 -
使用 Minidumps 和 Visual Studio .NET 进行崩溃后调试
本文转自http://vicchina.51.net/research/other/seh/minidumps/intro.htm 本文讲述了 minidumps 是怎样工作的、当你的程序崩溃的时候应该如何生成它们、以及如何在 Visual Studio .NET 中将它们重新读入。原文作者:Andy Pennell中文翻译:Victor原文链接:http://转载 2010-03-02 17:01:00 · 981 阅读 · 0 评论 -
VS2005中远程调试的配置方法
<br />转自http://www.cppblog.com/kyline/archive/2009/04/23/80821.aspx<br /> <br /><br />在VS2005中不能使用VS2003的远程调试程序。VS2005远程调试的方法:<br />(1) 远程端:安装VS2005光盘"X:/vs/Remote Debugger/x86/ rdbgsetup.exe"。或者直接运行或copy本地端的: "Program Files/Microsoft Visual Studio 8/Commo转载 2010-12-28 11:25:00 · 779 阅读 · 0 评论 -
创建一个EveryOne SECURITY_ATTRIBUTES.
<br />转自http://blog.youkuaiyun.com/hanxin1987216/archive/2009/09/10/4538590.aspx<br /> <br />使用IIS的身份模拟来使用通过SharedMemoryEx生成的内存映射文件...<br />这种做法可以解决一时的问题,不能真正长久的解决问题.<br />在前一个文章MutexEx 中,Mutex的创建,使用也要对其权限进行设置..同样的,如果我们想在不同的帐号使用这个Mutex,我们可能也不得不使用另一种方式的身份模拟.<br /转载 2010-10-15 17:43:00 · 1218 阅读 · 0 评论 -
用 BCB中 implib生成的输入库VC不认
<br />转自http://blog.sina.com.cn/s/blog_4522f0b801008o2c.html<br /> <br />用 CB中 implib生成的输入库VC不认,而VC(5。0以上版本)又未带该<br />: 工具。: 怎么办? : 不要建议我用动态装载,我试了,好使,不过太麻烦。<br /><br />关于这个问题我是采用以下方法解决的:<br /><br />1、首先建立一个DEF文件(假设为A.DEF),内容如下所示:<br /><br /> LIBRARY dll转载 2010-06-27 20:40:00 · 951 阅读 · 0 评论 -
关于DLL搜索路径顺序的一个问题
<br />本文转自http://www.rsky.com.cn/Article/otherarc/201005/11717.html<br /> <br /><br />DLL的动态链接有两种方法。一种是加载时动态链接(Load_time dynamic linking)。Windows搜索要装入的DLL时,按以下顺序:应用程序所在目录→当前目录→Windows SYSTEM目录→Windows目录→PATH环境变量指定的路径。<br /> <br /><br /> 前天看到这几句,突然设计出一道转载 2010-06-27 13:13:00 · 1043 阅读 · 0 评论 -
插件框架(Plug-in Framework)
<br />转载自http://blog.sinzy.net/ifyr/entry/7179<br /> <br />综述:<br />通常的插件框架的设计要包括平台(platform)和插件(Plug-in)两个部分。平台的功能通常包括软件的核心功能和插件的处理功能。而插件通常用来对平台功能的扩展与补充,可以集中管理,能够定义出标准接口。插件需要通过平台扩展接口获取主框架的各种资源和数据,可包括各种系统句柄,程序内部数据以及内存分配等。而平台则通过插件接口调用插件所实现的功能,读取插件处理数据等。这是Ph转载 2010-06-27 15:25:00 · 1745 阅读 · 0 评论