WINDOWS和MFC程序设计
文章平均质量分 84
fxwzzbd
这个作者很懒,什么都没留下…
展开
-
常见类型转换
一.CString与LPCWSTR 两者的不同:LPCWSTR 是Unicode字符串指针,初始化时串有多大,申请空间就有多大,以后存贮若超过则出现无法预料的结果,这是它与CString的不同之处。而CString是一个串类,内存空间类会自动管理。 CString转换成LPCWSTR 方法一:CString strFileName;原创 2007-09-22 15:17:00 · 3067 阅读 · 0 评论 -
Release版本错误解决方案及调试
关于release版本调试信息不正确(指跟踪到的变量的值不正确)的问题:先写好了debug版本,并进行了测试,发现功能都正常。然后想build一个release版本,将出现的编译和链接错误都搞定后,运行测试功能,发现功能不正确。这种问题很头痛,只好去debug,一步一步跟踪发现变量的值都不正确,即使初始化了也一样,例如有这样的定义int a=1; 但发现a的值根本不是1.最后把编译环境中的Op原创 2008-06-03 22:18:00 · 5615 阅读 · 0 评论 -
关于LNK2001错误MSDN中的文章
Knowledge Base You receive an "error LNK2001: unresolved external symbol ___argc" error message when the MFC library and the CRT library do not match in debug/release or in static/dynamic in V原创 2008-01-20 23:28:00 · 891 阅读 · 0 评论 -
关于LNK4098MSDN中的一些说明
Linker Tools Warning LNK4098defaultlib "library" conflicts with use of other libs; use /NODEFAULTLIB:libraryYou are trying to link with incompatible libraries.Important The run-time librari原创 2008-01-20 23:31:00 · 2311 阅读 · 0 评论 -
VS2003工程转VS2005工程遇到的一些问题
VS2003工程转VS2005工程:1.cpp文件include的h文件(头文件)必须和CPP文件在同一文件夹中,否则必须include整个路径Strmiids.lib(strmiids.obj) : error LNK2005: _IID_IMpeg2Data already defined in VVGraphBuilder.obj解决方法:/FORCE:MULTIPLE关于DEB原创 2008-04-01 21:54:00 · 5575 阅读 · 0 评论 -
字符串
1. 关于在WIN32中使用MFC中的CString、LPCWSTR、LPSTR等,必须添加头文件atlstr.h。2. char* ,wchar*,char ch[10],tchar wch[10],LPSTR,LPCSTR,LPWSTR,LPCWSTR,CString等的转换问题。 对指针作强制转换注意:指针所指向的内容可能不完全,下面不用atoi就是因为这样这可能是因为C原创 2008-03-22 14:59:00 · 630 阅读 · 0 评论 -
关于stdafx.h
stdafx.h头文件的作用 Standard Application Fram Extend没有函数库,只是定义了一些环境参数,使得编译出来的程序能在32位的操作系统环境下运行。Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编译程序也要花费相当长的时间来完成工作。由于每个.CPP文件都包含相同的include文件,为每个.CPP文件都重复处理这些文件就显得很傻转载 2008-03-21 21:22:00 · 950 阅读 · 0 评论 -
CString
CString详细讲解(zz)CString详细讲解 前言:串操作是编程中最常用也最基本的操作之一。做为VC程序员,无论是菜鸟或高手都曾用过Cstring。而且好像实际编程中很难离得开它(虽然它不是标准C++中的库)。因为MFC中提供的这个类对我们操作字串实在太方便了,CString不仅提供各种丰富的操作函数、操作符重载,使我们使用起串起来更象basic中那样直观;而且它还提供了动转载 2008-03-22 14:33:00 · 667 阅读 · 0 评论 -
关于VS2005程序发布的问题
关于VS2005程序发布的问题:其实就是程序能否找到运行时所需要的DLL的问题。注意VS2003与VS2005的不同:VS2003程序产生时可以选择产生manifest文件也可以选择不产生,但VS2005必须产生。manifest文件可以是内嵌到程序的二进制资源文件中,也可以只产生一个外部的.manifest文件。因为VS2005生成的程序运行时需要根据它的manifest文件来获取程序运行时原创 2008-02-04 17:43:00 · 7110 阅读 · 0 评论 -
VC 注册表函数
BOOL ReadStrRegTable(HKEY hKey, LPCSTR lpSubKey, LPCSTR lpItemName, TCHAR* pValue){HKEY hKeyToOpen;if ( RegOpenKeyEx(hKey,lpSubKey,0,KEY_READ,&hKeyToOpen) == ERROR_SUCCESS ){DWORD dwLength = 256;if原创 2007-10-25 23:44:00 · 1018 阅读 · 0 评论 -
CALLBACK函数的一些知识
如何实现自己的CALLBACK函数,系统如何知道何时调用CALLBACK函数?下面是摘自MSDN对CALLBACK的介绍:CALLBACK:Calling convention for callback functions. This type is declared in WinDef.h as follows:#define CALLBACK __stdcallThe __原创 2007-09-23 01:41:00 · 4628 阅读 · 0 评论 -
深入浅出Debug和Release
Debug版本包括调试信息,所以要比Release版本大很多(可能大数百K至数M)。至于是否需要DLL支持,主要看你采用的编译选项。如果是基于ATL的,则Debug和Release版本对DLL的要求差不多。如果采用的编译选项为使用MFC动态库,则需要MFC42D.DLL等库支持,而Release版本需要MFC42.DLL支持。Release Build不对源代码进行调试,不考虑MFC的诊断宏,使转载 2008-06-03 22:37:00 · 622 阅读 · 0 评论