MFC win32控制台
文章平均质量分 80
意念586
电力系统继电保护装置-嵌入式软件开发
展开
-
MFC简单介绍
线程简介我们知道一般情况程序中的代码都是按顺序从头开始一行一行的执行以最后.中间不能出现同时执行的情况.比如一段代码调用两个函数FunOne();FunTwo();只要当函数FunOne中的代码执行完才返回来执行FunTwo.假如逻辑上是有先后顺序那还真只能这样按顺序执行下来.不过有假如FunOne与FunTwo没有逻辑先后顺序,是相互独立的.比如两个函数分别处理两转载 2016-08-18 22:19:43 · 1314 阅读 · 0 评论 -
WIN32 进程间通讯-共享内存
一、引言 在Windows程序中,各个进程之间常常需要交换数据,进行数据通讯。WIN32 API提供了许多函数使我们能够方便高效的进行进程间的通讯,通过这些函数我们可以控制不同进程间的数据交换. 进程间通讯(即:同机通讯)和数据交换有多种方式:消息、共享内存、匿名(命名)管道、邮槽、Windows套接字等多种技术。“共享内存”(shared memory)可以定义为对一个以转载 2016-09-08 21:46:31 · 576 阅读 · 0 评论 -
CRT detected that the application wrote to memory after end of heap buffer
点击打开链接 http://blog.csdn.net/wu_lai_314/article/details/8241697今天在做检测线索二叉树与其他算法的时间复杂度时候遇到了这个问题,在网络上查阅了很多资料后,解决了这个问题,现在将这些资料及感悟整理如下,以来方便网友查阅,二来也作为自己的笔记.点击打开链接 http://blog.csdn.net/wu_lai转载 2016-10-10 19:13:16 · 354 阅读 · 0 评论 -
回调函数与钩子函数
钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。对每种类型的钩子由系统来维护一个钩子链,最近安装的钩子放在链的开始,而最先安装的钩子放在最后,也就是后加入的先获得控制权。要实现Win32的系统钩转载 2016-09-08 22:38:56 · 918 阅读 · 0 评论 -
IPC进程间通信
进程间通信IPC,也就是Inter-Process Communication的缩写。 首先我们明白一个进程其实就是一个狭义上的程序。 一个服务器也就是一个进程。比如客户端和服务器的连接就是两个进程在通信,只是这两个进程并不在同一台计算机上,它们进程间的通信方式就是我们非常熟悉的sockt接口,更下层一些可能就是TCP/IP协议。 那么进程间为什么要通信呢转载 2016-09-27 09:02:38 · 323 阅读 · 0 评论 -
vector清除操作
clear() 清空所有元素empty() 判断Vector是否为空(返回true时为空) erase() 删除指定元素 (可以用指针来代替迭代器) iterator erase( iterator loc ); //要删除元素的迭代器 iterator erase( iterator start,转载 2016-10-25 19:35:09 · 8575 阅读 · 0 评论 -
SendMessage与PostMessage的区别
SendMessage与PostMessage的区别:SendMessage函數是阻塞的。PostMessage函數是非阻塞的。SendMessage:函数功能:该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回。而函数PostMessage不同,将一个消息寄送到一个线程的消息队列后立即返回。函数原型:LRESULT SendMes转载 2016-09-29 22:28:37 · 3326 阅读 · 0 评论 -
CString UTF—8
//把utf8转成unicode,再转成cstring void ConvertUTF8ToANSI(char* strUTF8,CString &strANSI) // { int nLen = ::MultiByteToWideChar(CP_UTF8,MB_ERR_INVALID_CHARS,(LPCTSTR)strUTF8,-1,NULL,0); //返转载 2016-10-18 14:27:45 · 801 阅读 · 0 评论 -
string转换成char*
string 是c++标准库里面其中一个,封装了对字符串的操作把string转换为char* 有3中方法:1.data如:string str="abc";char *p=str.data();%这行应更正为char*p=(char*)str.data();,引自贴内网友的回复2.c_str如:string str="gdfd"; char *p=str.转载 2016-10-21 10:14:41 · 7841 阅读 · 1 评论 -
VS2008调试快捷键
VS2008调试快捷键F6: 生成解决方案Ctrl+F6: 生成当前项目F7: 查看代码Shift+F7: 查看窗体设计器F5: 启动调试Ctrl+F5: 开始执行( 不调试)Shift+F5: 停止调试Ctrl+Shift+F5: 重启调试F9: 切换断点Ctrl+F9: 启用/ 停止断点Ctrl+S转载 2016-09-08 18:43:30 · 874 阅读 · 0 评论 -
CRecordset类
CRecordset类代表一个记录集,是MFC的ODBC类中最重要、功能最强大的类。#include 1. 动态集、快照、光标和光标库在多任务操作系统或网络环境中,多个用户可以共享同一个数据源。共享数据的一个主要问题是如何协调各个用户对数据源的修改。例如,当某一个应用改变了数据源中的记录时,别的连接至该数据源的应用应该如何处理。对于这个问题,基于MFC的ODBC应转载 2016-09-20 22:12:21 · 616 阅读 · 0 评论 -
共享内存
一、IPC(Inter-Process Communication,进程间通信)对象的介绍System V 的IPC对象有共享内存、消息队列、信号灯。注意:在IPC的通信模式下,不管是使用消息队列还是共享内存,甚至是信号灯,每个IPC的对象都有唯一的名字,称为"键"(key)。通过"键",进程能够识别所用的对象。"键"与IPC对象的关系就如同文件名称于文件,通过转载 2016-09-20 22:08:22 · 380 阅读 · 0 评论 -
Win32 API消息函数:SendMessage(发送消息)
Win32 API消息函数:SendMessage(发送消息)函数功能:该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程 序处理完消息再返回。而函数PostMessage不同,将一个消息寄送到一个线程的消息队列后立即返回。函数原型:[cpp] view plain copyLR转载 2016-08-18 22:35:08 · 45004 阅读 · 0 评论 -
MFC中CArray类原理及其应用
1.CArray类应用函数简介CArray::GetSize int GetSize( ) const;取得当前数组元素个数.CArray::GetUpperBound int GetUpperBound( ) const;最得最大的元素的索引,由于C的数组是从0开始,所以此函数的返回值比GetSize的返回值比 小.CArray::SetSize转载 2016-09-09 21:57:57 · 789 阅读 · 0 评论 -
CArray的用法
参数 TYPE 模板参数指定存储在数组中的对象的类型。TYPE是一个由CArray返回的参数。ARG_TYPE 模板参数指定用于访问存储在数组中对象的参数类型。通常是一个对TYPE的参考。ARG_TYPE是一个传递给CArray的参数。 说明 CArray类支持与CArray相似的数组,但是必要时可以动态压缩并扩展。数组索引从0开始。可以决定是固定数组上界还是允许当添加元素时扩转载 2016-09-09 22:02:19 · 3357 阅读 · 0 评论 -
什么是动态链接库
什么是dll:dll只是一组源代码的模块,每个模块包含一些可供应用程序或者其他dll调用的函数,在应用程序调用一个dll里面的函数的时候,操作系统会将dll的文件映像映射到进程的地址空间中,这样进程中所有的线程就可以调用dll中的函数了 dll加载完成后,这个时候dll对于进程中的线程来说只是一些被放在地址进程空间附加的代码和数据,操作系统为了节省内存空间,同一个dll在内原创 2016-09-10 10:21:38 · 3160 阅读 · 0 评论 -
如何创建与调用动态链接库
静态链接库与动态链接库区别: 静态链接库:lib中的指令被直接包含在最终生成的EXE文件中。 动态链接库:dll不必被包含在最终的EXE中,EXE文件执行时可以动态地引用和卸载DLL文件。 同时,静态链接库中不能再包含其他的动态链接库或静态库,而动态链接库中可以包含其他的动态或静态库。 VC++支持的DLL: DLL的编制与具体的编程语言及编译器无关,动态链接库随处可转载 2016-09-10 10:43:47 · 420 阅读 · 0 评论 -
CString LPCTSTR区别联系
CString LPCTSTR区别联系 CString是一个动态TCHAR数组,BSTR是一种专有格式的字符串(需要用系统提供的函数来操纵,LPCTSTR只是一个常量的TCHAR指针。CString 是一个完全独立的类,动态的TCHAR数组,封装了 + 等操作符和字符串操作方法。typedef OLECHAR FAR* BSTR;typedef const char * LPC转载 2016-09-12 08:43:01 · 762 阅读 · 0 评论 -
LPSTR、LPCSTR、LPTSTR和LPCTSTR的意义及区别
LPSTR、LPCSTR、LPTSTR和LPCTSTR的意义及区别 1、ANSI(即MBCS):为多字节字符集,它是不定长表示世界文字的编码方式。ANSI表示英文字母时就和 ASCII一样,但表示其他文字时就需要用多字节。 2、Unicode:用两个字节表示一个字符的编码方式。比如字符'A'在ASCII下面用一个字节表示,而在 Unicode下面用两个字节表示,其中高字转载 2016-09-12 09:00:40 · 1425 阅读 · 0 评论 -
Expression: (stream!=NULL)
近段时间用VC编程序,代码运行正确,但总是到最后的时候弹出如下错误提示:Debug Assertion Failed!Program:...File:fclose.cExpression: (stream!=NULL)上网查了很多资料,尝试了一个星期,最后加断点,才定位到错误的位置。如错误提示所说:是因为关闭文件指针(fclose(f))转载 2016-09-23 15:26:46 · 13080 阅读 · 0 评论 -
socket通信 accept函数
先给出一个典型的TCP/IP通信示意图。 问题一:socket结构体对象究竟是怎样定义的? 我们知道,在使用socket编程之前,需要调用socket函数创建一个socket对象,该函数返回该socket对象的描述符。函数原型:int socket(int domain, int type, int protocol);转载 2016-11-27 13:05:53 · 1490 阅读 · 0 评论