自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 根据错误代码使用VS自带的errlook.exe查看错误信息及常见错误信息代码含义总结

在调试开发时,可能经常需要调用GetLastError();得到错误代码,在得到错误代码之后,希望知道该错误代码的含义,VS自带有errlook.exe可供方便的获取错误代码含义,有助于提高开发调试的效率,以VS2003为例方法如下:(1) 【开始】->【所有程序】->【Microsoft Visual Studio .NET 2003】->【Visual Studio .NET 工具】->【

2015-02-26 11:13:32 6362

原创 MFC编译选项设置与MSVCRT链接版本的对应关系总结

MFC工程编译选项:【项目】->【属性】->【配置属性】->【C/C++】->【代码生成】->【运行时库】,对应的CRT版本总结如下:多执行线程调试 (/MTd):对应 LIBCMTD.lib多执行线程 (/MT):对应 LIBCMT.lib多执行线程调试 DLL (/MDd):对应 MSVCRTD.lib多执行线程 DLL (/MD):对应 MSVCRT.lib

2015-02-25 23:02:40 588

原创 为CToolBar工具栏窗口按钮添加ICON图标需要注意的一点

VC使用CToolBar类创建工具栏,例如一个SDI应用程序,在MFC应用程序框架自动生成的工具栏IDR_MAINFRAME基础上,可使用资源编辑器创建工具栏资源,步骤如下:(1) 使用资源编辑器编辑工具栏IDR_MAINFRAME,删除所有自动生成的工具栏按钮,如新建、打开等(2) 添加ID为ID_EXIT_BAR图标。(3) 资源视图选中工程,右键【添加】->【添加资源】->【IC

2015-02-25 22:12:40 2641

原创 SDI应用程序调用DestroyWindow()退出程序出现异常引起的一些思考

1. 创建一个SDI应用程序SimSence。2. 在CSimSenceView创建线程,调用第三方动态库,进行周期性数据采集处理。3. 重载CMainFrame类DestroyWindow()函数,在该函数中设置线程jieshu释放加载的Dll等资源。 4. 添加工具栏图标按钮,ID为ID_EXIT_BAR,并为该按钮添加消息处理 函数OnExitProgramme(),在OnExi

2015-02-05 23:06:32 1711

原创 warning C4996: '_snprintf' was declared deprecated 警告信息的消除方法

使用VS2005编译如下语句:_snprintf(gs_LastErr, sizeof(gs_LastErr) - 1, "%s: NULL device %s\n", sFunc, !pDev ? "handle" : "context");vsnprintf(gs_LastErr, sizeof(gs_LastErr) - 1, sFormat, argp);提示如下警告信

2015-02-04 10:03:38 1479

原创 error LNK2019: 无法解析的外部符号 __imp__FtpGetFileA@28 解决方法

VS2003实现FTP下载功能,调用MFC如下API函数:FtpGetFile()、InternetCloseHandle()、InternetConnect()、InternetOpen(),编译时提示如下错误信息:TestView.obj : error LNK2019: 无法解析的外部符号 [email protected] : error LNK

2015-02-01 22:24:50 2489

原创 warning C4541: “dynamic_cast”用在了带 /GR- 的多态类型“CWnd”上;可能导致不可预知的行为的解决办法

如下语句:CScrollBarEx* pScrollBar = dynamic_cast(pWnd);使用VS2003进行编译时提示如下警告信息:e:\code\GMP\TestView.cpp(800) : warning C4541: “dynamic_cast”用在了带 /GR- 的多态类型“CWnd”上;可能导致不可预知的行为解决办法:【项目】->【GMP属性】

2015-01-30 16:46:48 1797

原创 error C2666: “pow” : 7 个重载有相似的转换的解决办法

如下语句:double Value = 15.3;double lowTick = pow(10,floor(log10(Value)));double highTick = pow(10,floor(log10(Value*10)));使用VS2003进行编译时,提示如下错误:e:\code\GMP\TestView.cpp(104) : error C2666: “

2015-01-30 16:29:56 5259

原创 error C3861: “strcat_s”: 即使使用参数相关的查找,也未找到标识符

使用strcat_s进行字符串连接,代码如下:char TestEle[256] = "Lon";strcat_s(TestEle, ":");使用VS2003进行编译时提示入戏错误:error C3861: “strcat_s”: 即使使用参数相关的查找,也未找到标识符解决办法:将strcat_s换为strcat即可。函数原型如下:strcat_s是VS2

2015-01-30 13:46:37 2890

原创 CDialog::Create()创建非模态对话框框,若未销毁造会成内存泄露的解决办法

CDialog::Create()创建非模态对话框框,若未销毁造成内存泄露,代码如下:CTestView类中有成员变量CSetDBSource* m_SetDBSource;,CSetDBSource的基类为CDialog,m_SetDBSource = new CSetDBSource;m_SetDBSource->Create(IDD_SETDB_DLG,this);m_S

2015-01-29 16:52:18 3698 1

原创 未处理的异常: 0xC0000091: Floating-point overflow 的解决办法

执行如下语句:float dAngle = 0;dAngle = m_dAcrossAngle;if(dAngle > 60.0){dAngle = 60.0;}else{if(dAngle {dAngle = -60;}}其中m_dAcrossAngle = -6.2774385622041925e+066,执行if(dAngle

2015-01-28 17:12:56 5857

原创 关于INT_PTR的理解

使用CStringArray 定义数组获并取数组大小,语句如下:   CStringArray sArr;   sArr.Add("姓名");   sArr.Add("姓名");   int nCount = sArr.GetCount();使用VS2003编译时,得到如下警告信息:warning C4244: “=” : 从“INT_PTR”转换到“int”,可能丢失数据

2015-01-26 11:43:40 4412

原创 使用MFC的CArray自定义数据类型,编译报错的解决方法

使用MFC的CArray定义double类型数组,如下所示:typedef CArray CDoubleArray;//double类型数组编译时提示如下错误信息:error C2143: 语法错误 : 缺少“;”(在“error C2059: 语法错误 : “解决办法:在stdafx.h中添加如下语句:#include 原因:afxtempl.h是数据

2015-01-26 11:24:40 845

原创 CWnd::UpdateData()用法总结

在MFC应用程序中,经常需要更新对话框中控件变量的值,或更新控件显示值,为达到此目的,方法之一是使用CWnd::UpdateData()函数,下面通过一个小的Demo程序对此此函数的用法进行总结,以加深理解。1. 新建MFC对话框应用程序TestModel。2. 删除对话框中默认的Static Text控件及确定取消、按钮。3. 添加一个Static Text控件,将Caption设置

2015-01-22 23:54:44 2745

原创 MFC分割窗口总结

MFC提供了CSplitterWnd类切分SDI程序的客户区,步骤如下:1、创建SDI应用程序DivWindow。2、为CMainFrame添加两个CSplitterWnd类型的成员变量,如下所示:       CSplitterWndm_wndSplitterMain;//主分隔条CSplitterWnd m_wndSplitterChild;//子分隔条3.  为C

2015-01-21 23:55:28 624

原创 不能将参数 2 从“const char [7]”转换为“LPCTSTR”问题解决办法

如下语句:ctrlList.InsertColumn(0, "属性页", LVCFMT_LEFT, 300, 0);使用VS2005编译时提示如下错误信息:error C2664: “int CListCtrl::InsertColumn(int,LPCTSTR,int,int,int)”: 不能将参数 2 从“const char [7]”转换为“LPCTSTR”1>

2015-01-21 23:44:41 1327

原创 C++如何调用C开发的DLL

在一个C++工程中调用C开发的动态库,包含动态库中的头文件时,需要在调用的头文件中添加如下语句:#ifdef __cplusplus  extern "C" {  #endif #ifdef __cplusplus  }  #endif实例如下:#ifdef __cplusplus  extern "C" {  #endif #i

2015-01-21 09:34:29 571 1

原创 warning LNK4098: 默认库“MSVCRT”与其他库的使用冲突;使用 /NODEFAULTLIB:library问题解决方法

使用VS2003编译程序提示如下警告信息:warning LNK4098: 默认库“MSVCRT”与其他库的使用冲突;使用 /NODEFAULTLIB:library编译选项设置如下:【项目】->【属性】->【配置属性】->【C/C++】->【代码生成】->【运行时库】,设置为“多线程DLL(/MD)解决方法:【项目】->【属性】->【配置属性】->【连接器】->【输入】-

2015-01-20 14:04:19 21804

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除