
VC++
文章平均质量分 61
whyrun
这个作者很懒,什么都没留下…
展开
-
【MSDN】使用 __declspec(dllexport) 从 DLL 导出
Microsoft 在 Visual C++ 的 16 位编译器版本中引入了 __export,使编译器得以自动生成导出名并将它们放到一个 .lib 文件中。然后,此 .lib 文件就可以像静态 .lib 那样用于与 DLL 链接。在更新的编译器版本中,可以使用 __declspec(dllexport) 关键字从 DLL 导出数据、函数、类或类成员函数。__declspec(dllexp转载 2012-03-19 16:39:11 · 653 阅读 · 0 评论 -
如何学习WindDbg
http://www.cppblog.com/weiym/archive/2012/06/07/177958.aspxWindbg工作中用的不多,所以命令老是记不住,每次使用都要重新查命令,挺烦。趁这次培训的机会好好测试和总结了一下,下次再用就方便多了。在这里一起共享一下,如果有错误,请指正。基本知识和常用命令(1) Windbg下载地址http转载 2013-06-11 16:37:15 · 1015 阅读 · 0 评论 -
VC写ACtivex控件的起步----创建和调试
最近一直想学ACtivex控件的开发,起步的工作要先做好。查了一堆关于ACtivex控件的原理,发现它和DLL动态库颇为类似。 下面直接进入主题,首先是创建一个工程,编写ACtivex控件有两种途径,一是MFC ACtivex , 二是ATL ACtivex。这两者有什么区别呢,MFC做的控件附带了一系列MFC的运行库,虽然也是基于COM接口的,但相对来说就要比ATL大的多。而ATL转载 2013-01-04 18:53:50 · 716 阅读 · 0 评论 -
LNK4098: 默认库“MSVCRT”与其他库的使用冲突
修改的方法:在项目属性中,在连接器-输入选项中,在忽略特定库中添加相应的库,具体添加那些苦请参照下面的表格。下面的内容为转载,原文链接:http://blog.163.com/ckzdy_qc/blog/static/5997161200752334518906/默认库“library”与其他库的使用冲突;使用 /NODEFAULTLIB:library您试图与不兼容的库链转载 2013-01-04 18:52:14 · 1028 阅读 · 0 评论 -
PDB文件:每个开发人员都必须知道的
PDB Files: What Every Developer Must Knowhttp://www.wintellect.com/CS/blogs/jrobbins/archive/2009/05/11/pdb-files-what-every-developer-must-know.aspx PDB文件:每个开发人员都必须知道的 一 什么是PDB文件大部分的开发人员应转载 2013-01-04 19:27:07 · 673 阅读 · 2 评论 -
LNK4098: 默认库“MSVCRT”与其他库的使用冲突
熟悉面向对象编程和网络编程的人一定对ActiveX、OLE和COM/DCOM这些概念不会陌生,但是它们之间究竟是什么样的关系,对许多们还是 比较模糊的。在具体介绍它们的关系之间,我们还是先明确组件(Component)和对象(Object)之间的区别。组件是一个可重用的模块,它是由一 组处理过程、数据封装和用户接口组成的业务对象(Rules Object)。组件看起来像对象,但不符合对象的学术定义转载 2013-01-04 18:53:30 · 2442 阅读 · 0 评论 -
VS2010编译错误集合
上面两句错误的原因是MFC工程中的StdAfx.h文件中加入#include error C2065: 'i' : undeclared identifier Error executing cl.exe.未声明的标识符错误。原因是:编译器没有能够意识到,某个变量符号虽然不是本文件定义的,但是它可能是在其它的文件中定义的(即变量i是一个在其它文件定义的全局变量,而在转载 2012-11-20 21:01:08 · 6957 阅读 · 1 评论 -
Invalidate and UpdateAllViews
Invalidate and UpdateAllViews OnDraw()函数每当窗口发生重绘时就会执行,它其实跟消息处理函数OnPaint()差不多。当在View类里添加了消息处理函数OnPaint()时,OnPaint()就会覆盖掉OnDraw()。 void Invalidate( BOOL bErase = TRUE ); 该函数的作用是使整个窗口客户区无效。窗口的客户区无效转载 2012-11-29 21:58:04 · 1013 阅读 · 0 评论 -
避免闪烁的方法:OnEraseBkgnd
在图形图象处理编程过程中,双缓冲是一种基本的技术。我们知道,如果窗体在响应WM_PAINT消息的时候要进行复杂的图形处理,那么窗体在重绘时由于过频的刷新而引起闪烁现象。解决这一问题的有效方法就是双缓冲技术。因为窗体在刷新时,总要有一个擦除原来图象的过程OnEraseBkgnd,它利用背景色填充窗体绘图区,然后在调用新的绘图代码进行重绘,这样一擦一写造成了图象颜色的反差。当WM_PAINT的转载 2012-11-30 09:29:56 · 874 阅读 · 0 评论 -
MFC的OnDraw调用UpdateAllViews(this)频繁刷新
此问题出现在VS中,VC6.0不会出现:MFC的OnDraw调用pDoc->UpdateAllViews(this)频繁刷新,不堪其扰~后来重载CMainFrame的OnCreateClient函数并直接返回true后(既不让它调用基类的OnCreateClient),问题解决~~~这是哪跟哪啊,尼玛~原创 2012-11-30 09:28:22 · 2224 阅读 · 0 评论 -
VC的Combo Box下拉长度
点击Combo Box控件右边的小三角后,向下拉即可控制它在运行时的下拉长度。原创 2012-11-28 01:07:24 · 976 阅读 · 0 评论 -
LoadIcon() --加载一个图标资源
LoadIcon() 函数原型如下:?1234HICONLoadIcon( HINSTANCEhInstance, LPCTSTRlpIconName);该函数从与 hInstance 模块相关联的可执行文件中装入lpIc转载 2012-04-16 21:29:07 · 32059 阅读 · 2 评论 -
对volatile关键字的理解
1作用volatile的作用: 作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值.简单地说就是防止编译器对代码进行优化.比如如下程序:1234XBYTE[2]=0x55;XBYTE[2]=0x56;XBYTE[2]=0x57;XBYTE[2]=0x58;转载 2013-12-16 16:54:40 · 796 阅读 · 0 评论