自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (3)
  • 收藏
  • 关注

原创 Run-Time Check Failure #3 - The variable 'comstat' is being used without being initialized

方案1: 改变项目配置属性一种解决方案是改变基本运行时检查(changing the runtime checks in project settings):在菜单Project->Project properties-> C/C++ -> Code generation-> Basic Runtime checks --> change to 'Default',在中文版中是:项目-

2017-06-26 13:16:12 1370

原创 VC文档"最近使用的文档"列表LoadStdProfileSettings

在文档/视图中,打开菜单旁边的”最近使用列表“可以列出最近使用的文档名称,这对于加快程序的处理文档速度。在VC2008SP1中的效果如下:我们只要在应用程序类的InitInstance 函数中调用LoadStdProfileSettings()即可,函数原型如下:void  LoadStdProfileSettings(    UINT nMaxMRU =  _AFX_

2017-06-23 16:54:37 1091

原创 VC INI文件读写 和 GetProfileString,WriteProfileString函数的使用

VC中用函数读写ini文件的方法         ini文件(即Initialization file),这种类型的文件中通常存放的是一个程序的初始化信息。ini文件由若干个节(Section)组成,每个Section由若干键(Key)组成,每个Key可以赋相应的值。读写ini文件实际上就是读写某个的Section中相应的Key的值,而这只要借助几个函数即可完成。[section]

2017-06-23 16:21:07 997

原创 SetRegistryKey的作用

使用CWinApp类的WriteProfileString 、GetProfileString等函数。1、如果不调用SetRegistryKey(),CWinApp 会把信息保存系统目录的的Test.ini文件中(C:\Windows\Test.ini)2、如果调用SetRegistryKey(),CWinApp 会把信息保存系统目录的的注册表中   HKEY_CURRENT_USER

2017-06-23 16:14:11 801

原创 探索MFC全局函数-AfxGetApp()

MFC做到了从C/SDK开发Win32程序到利用OOP思想开发Win32程序的过渡,它的封装完美体现的C++的三大特性,提高了Win32程序的开发效率,但它的封装也使得本来清晰的脉络,变得晦涩起来。今天我们探究被微软冠以Afx前缀的全局函数AfxGetApp(),这个函数作用是获取当前应用进程的指针,确切的说是获取由CWinApp派生出类的对象,相信懂MFC的人都熟知,但作为全局函数的它是

2017-06-23 16:08:35 972

原创 AfxGetApp用法

AfxGetApp( )是全局的。AfxGetApp( )这个函数可以得到当前应用进程的指针,是CWinApp*类型的,通过这个指针可以访问到这个进程中的对象。比如在全局函数中要向对话框中的列表写数据。void writeString(char* pString){   CWnd* pWnd = AfxGetApp()->GetMainWnd();   CMyD

2017-06-23 16:07:41 401

原创 防止C++程序重复运行的几种方法

今天给自己的程序加了防止重复运行的功能.用的是创建互斥量的方法,感觉还不错.下面的帖子转自http://bbs.cfan.com.cn/viewthread.php?tid=793295 有时候,为了某些要求,我们希望程序实例只运行一次。而在VB6中,我们可以很轻易的根据App.hPreInstance来判断程序是否已经运行。但是在C++中,这一切就变得不是那么容易。

2017-06-23 15:52:31 6028

原创 对MFC中CDocument::UpdateAllViews的理解

对MFC中CDocument::UpdateAllViews的理解:void CDocument::UpdateAllViews(CView* pSender, LPARAM lHint, CObject* pHint) // walk through all views{ ASSERT(pSender == NULL || !m_viewList.IsEmpty()); PO

2017-06-22 16:18:10 1584

原创 CDocument::SetModifiedFlag

CDocument类成员 CDocument::SetModifiedFlag  void SetModifiedFlag(BOOL bModified = TRUE);  参数: bModified 文档是否被修改的标记。  说明:  在对文档作了修改之后调用该函数。连续调用以确保在关闭之前框架提示用户保存这些变化。通常使用bModified参数的

2017-06-22 16:15:53 1453

原创 UpdateWindow

只将窗口显示区域标记为无效以产生WM_PAINT消息,对于某些应用程序来说也许不是完全令人满意的选择。在呼叫InvalidateRect之后,Windows将WM_PAINT消息放入消息队列中,最后由窗口消息处理程序处理它。然而,Windows将WM_PAINT消息当成低优先级消息,如果系统有许多其它的动作正在发生,那么也许会让您等待一会儿工夫。这时,当对话框消失时,将会出现一些空白的「洞」,程序

2017-06-22 15:04:32 624

原创 怎样在vs2010里面实现两个编辑控件对应一个消息处理函数

本上介绍的实现方法是采用的vc6.0,自己试了一遍,在vc6.0下可以采用。但是在vs2010里面却不行,实际上按照wizard确实不行,但是我们可以直接更改代码,图形UI解决不了的问题,我们可以手动更改代码,其实很简单。新建一个对话框风格的mfc程序,名为Ctest,所以系统会自动生成:CCtestDlg类,对应的文件为:CtestDlg.cpp和CtestDlg.h比如

2017-06-22 14:37:48 707

原创 c++ GDI 中SelectObject使用方法和注意事项

CPen* SelectObject( CPen* pPen );CBrush* SelectObject( CBrush* pBrush );virtual CFont* SelectObject( CFont* pFont );CBitmap* SelectObject( CBitmap* pBitmap );int SelectObject( CRgn* pR

2017-06-21 18:33:47 3376 1

原创 C++ UpdateData()

UpdateData()参数只有一个,默认为TRUE。UpdateData(TRUE)——刷新控件的值到对应的变量。(外部输入值交给内部变量)即:控件的值—>变量。UpdateData(FALSE)—— 拷贝变量值到控件显示。(变量的最终运算结果值交给外部输出显示)即:变量值—>控件显示。例如,窗口中用 DDX_Text(pDX, IDC_EDIT1, m_userco

2017-06-21 18:30:36 1766

原创 _itoa atoi、atof、itoa、itow _itoa_s 类型转换使用说明

_itoa功能:把一整数转换为字符串用法:char * _itoa(int value, char *string, int radix);  详细解释: _itoa是英文integer to array(将int整型数转化为一个字符串,并将值保存在数组string中)的缩写.其中value为要转化的整数, radix是基数的意思,即先将value转化为radix进制的数,

2017-06-21 18:24:26 548

原创 例程 【C++】MFC 创建对话框,实现对“学生课程成绩”的管理

运行环境:VC6.0具备知识:对MFC的控件有一定的了解,包括图像列表、列表控件等。实现功能:单击下图中的“学生课程成绩”按钮,弹出“学生课程成绩”对话框,单击“添加”按钮,学生课程成绩添加到列表控件。若选中列表项,“修改”按钮由原来的禁用变成可用,单击“修改”按钮,则弹出的“学生课程成绩”对话框中的“添加”按钮标题变成“修改”,单击“学生课程成绩”对话框中的“修改”按钮,该列表项

2017-06-21 18:23:27 3815 2

原创 vc中GetDlgItem用法

在MSDN中定义为:HWND GetDlgItem(HWND hDlg,       // handle to dialog boxint nIDDlgItem // control identifier);其中HWND代表当前窗口的句柄,其实就是m_hWnd,int 代表你想要得到的控件句柄的名字比如我们有个编辑框为IDC_EDIT_TEST,则这里面的值就是ID

2017-06-21 18:21:09 3793

原创 string.Format字符串格式说明

先举几个简单的应用案例:1、格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元)string.Format("{0:C}",0.2) 结果为:¥0.20 (英文操作系统结果:$0.20)默认格式化小数点后面保留两位小数,如果需要保留一位或者更多,可以指定位数string.Format("{0:C1}",23.15) 结果为:¥23.2 (截取会自动四舍五

2017-06-21 18:18:00 471

原创 C++字符串格式化 sprintf、printf

在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。sprintf 是个变参函数,定义如下:int sprintf( char *buffer, const char *format [, a

2017-06-21 18:16:27 368

原创 MFC的使用 在共享DLL中使用MFC 和在静态库中使用MFC的区别

使用VS2010,在项目属性中有一项MFC的使用,有三种设置:    1.使用标准Windows库   2.在共享DLL中使用MFC    3.在静态库中使用MFC           第一种顾名思义。       第二种指的是打包时一些MFC的DLL的内容没有被包含在EXE文件中,所以EXE文件较小,但是运行时要求系统中要有相关的DLL文件。       第三种是将DLL

2017-06-20 18:00:57 534

原创 Visual Studio 代码生成 运行时库的选择

运行时库的选项有:多线程(/MT)、多线程调试(/MTD)、多线程DLL(/MD)、多线程调试(/MDd) 有时调用外部的一些库,这个选择不对,老编译不通过;c运行时库                                             库文件single thread(static link) ML                  libc.libd

2017-06-20 17:50:10 402

原创 VS2010 c++编写的程序在别人的机子运行不了,缺少mfc100.dll, xxx100d.dll等的解决方法

问题:VS2010 c++编写的程序在别人的机子运行不了,缺少mfc100u.dll xxx100d.dll等的解决方法 解决方法:1.将这些dll打包,和应用程序一起发布;2.采用MFC静态编译; 附1:VS2010中静态编译设置方法     使用VS2010编译的程序在windows xp中运行时  经常会出现找不到  相关的DLL文件,我们可以

2017-06-20 17:40:15 820

原创 vs2008设置lib和h文件路径

一、只对当前工程起作用的设置1. 设置头文件包含路径   工程上右击,选择“属性”,打开工作属性页   “配置属性”-->“常规”-->“附加包含目录”2. 设置lib文件包含路径   工程上右击,选择“属性”,打开工作属性页   A“配置属性”-->“连接器”-->“常规”-->“附加库目录”,      注意这只是添加了目录而已   B“配置属性”-->“连接器

2017-06-20 16:02:08 620

原创 vs2008下设置.h, .lib和 .dll 的路径配置全图及其意义

文件夹: 类型文件include: .h (头文件)lib: .lib (库)前面二者在vs2008中通过属性来配置。bin: .dll (动态链接库)动态链接库是通过系统路径来配置的。  添加库(libs)文件目录     方法 1:项目->属性->配置属性->连接器->常规->附加库目录”     方法 2:[菜单]“工具->选项

2017-06-20 15:59:21 457

原创 VS2010 如何添加H文件目录和LIB目录

VS2010,编写DLL文件,编译完自己的DLL文件后,要在其它项目中使用,开始遇到很多错,但是在网上搜索了好久后,终于解决了问题。H文件目录:依次点击“项目——XX 属性——C/C++——常规”,在“附加包含目录”中加入H文件所在的文件夹 LIB目录: 依次点击“项目——XX 属性——链接器——常规”,在“附加库目录”中加入LIB所在目录 还没完,在“链接器”

2017-06-20 15:57:16 724

原创 VS2010下生成dll的方法

1.首先创建生成dll的项目:打开VS2010,两种途经建立dll项目,基于MFC DLL的和基于Win32控制台应用程序的,这里选择基于Win32控制台建立。    a.文件--新建--项目(项目命名为myAPI)--Visual C++ --Win32--选择Win32控制台应用程序;    b.接下来下一步一直到如下图,程序类型选择DLL,如无特殊需要选择空项目完成,项目建立完毕;

2017-06-20 15:51:39 312

原创 lib 和 dll 的区别、生成以及使用详解

首先介绍一下静态库(静态链接库)、动态库(动态链接库)的概念,首先两者都是代码共享的方式。静态库:在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中,这种库称为静态库,其特点是可执行文件中包含了库代码的一份完整拷贝;缺点就是被多次使用就会有多份冗余拷贝。即静态库中的指令都全部被直接包含在最终生成的 EXE 文件中了。在vs中新建生成静态库的工程,编译生成成功后,只产

2017-06-20 15:34:03 191

原创 C++生成和使用dll和lib

dll和lib:动态链接库(dll)是一个可以被其他应用程序共享的程序模块,其中封装了一些可以被共享的例程和资源。和可执行文件(exe)非常类似,区别在于dll中虽然包含了可执行代码却不能单独执行,而应由Windows应用程序直接或间接调用。静态链接库(lib) 包含函数代码本身,在编译时直接将代码加入程序当中。当多个程序都调用相同函数时,内存中就会存在这个函数的多个拷贝,这样就浪

2017-06-20 15:31:12 5694

原创 VC DLL文件无法生成LIB 解决方案

VC中WIN32项目,DLL时:1,在建项目时,不选择空项目,而选择导出符号(勾选),会自动导出,生成lib文件;2,当选择空白项目时,需要在工程中添加模块定义文件:LIBRARY        EXPORT        func11、在所建工程上单击鼠标右键,在弹出的右键菜单中选择“添加-->新建项....---->模块定义文件”,在该模块定义文件中写导出函数表

2017-06-20 15:28:20 1227

原创 如何在项目中引入.h、.lib和dll、以及.cpp

一、如何在项目中引入.h、.lib和dll、以及.cpp     一直搞不清楚.h、.lib和dll在工程里怎么引入,稀里糊涂的。这次使用sqlite做个试验。     目录如下:     ..     include     lib     dll     工程\注意:工程是最原是的MFC标准项目,没有对环境变量做任何修改:

2017-06-19 19:16:06 1266

原创 如何在编译器(vs2010)里设置调用别人写好的lib和dll

这是网上找的,但是实际使用时,我只添加了红色矩形标注出来的3项就可以用*********************************************************************************补充1***********************************************************************

2017-06-19 19:14:23 348

原创 lib和dll的区别,生成

首先介绍下静态库(静态链接库,.lib文件),动态库*(动态链接库,.dll文件)的概念,首先两者都是代码共享的方式.静态库:在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件,这种库称为静态库,其特点是可执行文件中包含了库代码的一份完整拷贝;缺点就是被多次使用就会有多份冗余拷贝.即静态库中的指令都全部被直接包含在最终生成的EXE文件中了.         在VS

2017-06-19 19:12:57 250

原创 VC6如何使用VS2005中的CImage类功能2

由于VC6启动速度快,产生的执行代码小,还有可爱的类向导,所以许多C++程序员还工作在VC6环境中。但是我们想在VC6中用VS2005中的新功能怎么办呢?例如CImage类(有很强的图像处理功能).当然我们无法直接使用CImage了,经过我的思考和实践,以下方法是可行的:用VS2005生成一个CImage2005动态库,然后用VC6调用就可以了。DLL主要代码如下:Image200

2017-06-19 18:31:43 447

原创 VC6如何使用VS2005中的CImage类功能

VC6如何使用VS2005中的CImage类功能   由于VC6启动速度快,产生的执行代码小,还有可爱的类向导,所以许多C++程序员还工作在VC6环境中。      但是我们想在VC6中用VS2005中的新功能怎么办呢?例如CImage类(有很强的图像处理功能).当然我们无法直接使用CImage了,经过我的思考和实践,以下方法是可行的:        用VS2005生成一个CIma

2017-06-19 18:30:49 877

原创 C++中_T()与L的区别

字符串前面加L表示该字符串是Unicode字符串。_T是一个宏,如果项目使用了Unicode字符集(定义了UNICODE宏),则自动在字符串前面加上L,否则字符串不变。因此,Visual C++里边定义字符串的时候,用_T来保证兼容性。VC支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改。以下是别人的总结:

2017-06-19 14:05:57 591

1_An_overview_of_ST_MC_SDK_5.pdf

ST无刷电机培训 BLDC

2021-09-23

W6100中文手册.pdf

W6100 WIFI6

2021-09-23

UART Driver Rev1.0 for LPC2214 Over UCOSII2.52

详细的串口driver ,base ucos-ii2.52

2014-06-10

空空如也

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

TA关注的人

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