
VC++深入浅出
思月行云
吾求吾失且不暇,何暇论人哉?!
君子性非异也,善假于物也。
展开
-
在WinMain中嵌Console窗口
很多时候,调试GUI程序是很不方便的,通常的做法是使用MessageBox,但是作为一个模态窗口,它经常产生不必要的消息,比如killfocus, setfocus或者paint,从而影响调试的执行过程。当然,使用vc的调试器也不错,但是这样也很容易造成窗口切换从而产生干扰消息。因此,如果能像在控制台程序里那样使用cin/cout对象或printf族函数,会使得调试过程方便得多。而通常,windo...原创 2012-07-23 12:13:02 · 405 阅读 · 0 评论 -
C++笔试题汇总二
C++笔试题 一 1. 以下三条输出语句分别输出什么?[C易]char str1[] = "abc";char str2[] = "abc";const char str3[] = "abc"; const char str4[] = "abc"; const char* str5 = "abc";const char* str6 = "abc";cout <&l原创 2011-06-21 22:20:03 · 280 阅读 · 0 评论 -
C++笔试题汇总
1.static有什么用途?(请至少说明两种) 1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。 3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范...原创 2011-06-21 22:16:24 · 170 阅读 · 0 评论 -
浅谈C++的智能指针
原文出处:http://www.cppblog.com/yearner/archive/2008/11/09/66447.html浅谈C++的智能指针内存泄露是C++程序员都头疼的大问题。C++缺乏像JAVA、C#一样,拥有GC这么一项有利的武器,它将内存管理的部分权限交给了程序员。虽然GC的存在节约了开发、排错的时间与成本,但是C++为了追求运行速度而20年来坚决不予补充进其标准。(题外...原创 2011-06-08 10:47:23 · 182 阅读 · 0 评论 -
开源游戏TOP5
有没有想过免费的开源游戏同商业游戏一样的精彩?并且还能够根据您的需要度身订制哦。Apcmag网站为我们带来了2008年1月开源游戏TOP5,下面请您随我一起来看看。1. 《神秘玛莉历代记》(Secret Maryo Chronicles)让大家重温了美好时光,前身是“Super Mario Clone”,经典游戏Mario Brother的克隆版,基于SDL和OpenGL函数库让它可以...原创 2011-03-31 11:08:38 · 316 阅读 · 0 评论 -
C++ Coding潜意识(-ing)
意识形态1:构造函数对于自身成员的赋值操作尽量使用初始化列表完成。 常规形态: public MyCls:MyCls(int iobj) { m_iobj=iobj; } 意识形态: public MyCls:MyCls(int iobj):m_iobj(iobj) {} 意识形态2:使用const、enum、inline替换#define 常规形态: #define PI 3.14 意识...原创 2011-01-19 10:34:23 · 232 阅读 · 0 评论 -
轻松实现一个操作ini文件的类
作者:lixiaosan(CSDN) 前言: 相信很多朋友在编写自己的程序中,都需要把一些数据先期导入到程序中进行初始化。那么这个时候,比较好的做法就是把你所有的数据写入一个ini文件,然后在程序去读ini文件中的数据对行初始化。 一.INI简介 那么什么是ini文件呢?ini文件是Initialization file的缩写,意即初始化文件。(从名字转载 2009-07-20 00:10:00 · 910 阅读 · 1 评论 -
VC文件读写操作总结
From:http://www.xiaozhou.net/ReadNews.asp?NewsID=248各种关于文件的操作在程序设计中是十分常见,如果能对其各种操作都了如指掌,就可以根据实际情况找到最佳的解决方案,从而在较短的时间内编写出高效的代码,因而熟练的掌握文件操作是十分重要的。本文将对Visual C++中有关文件操作进行全面的介绍,并对在文件操作中经常遇到的一些疑难问题进行详细的分析转载 2009-05-04 14:55:00 · 8860 阅读 · 0 评论 -
【STL】List基础
<br />本文版权归博客园 fangyukuan所有,转载请显示标明作者及原文出处,以示尊重!!<br />作者:fangyukuan<br />原文:http://www.cnblogs.com/fangyukuan/archive/2010/09/21/1832364.html<br /><br />STL中的list就是一双向链表,可高效地进行插入删除元素。<br />list不支持随机访问。所以没有 at(pos)和operator[]。<br /><br /><br />list对象list1,转载 2011-03-11 12:01:00 · 1460 阅读 · 0 评论 -
STL各容器成员对比表
来源:http://www.cplusplus.com一转:http://www.cnblogs.com/fangyukuan/archive/2010/09/21/1832675.html 标准STL序列容器:vector、string、deque和list。 标准STL关联容器:set、multiset、map和multimap。 非标准序列容器slist和rope。slist是一个单向链表,rope本质上是一个重型字符串。 非标准关联容器hash_set、hash_multiset、hash_map和转载 2011-03-11 11:55:00 · 1118 阅读 · 0 评论 -
STL MAP用法详解
暂时未找到原创作者,望知情人士告知,谢过。第一转贴:http://blog.csdn.net/nwf5d/archive/2009/07/10/4338872.aspx说明:如果你具备一定的C++ template知识,即使你没有接触过STL,这个文章你也应该可能较轻易的看懂。本人水平有限,不当之处,望大家辅正。 一.Map概述 Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们转载 2011-01-18 16:22:00 · 1033 阅读 · 0 评论 -
IME输入法编程心得
原文链接:IME输入法编程心得posted @2012-11-30 00:42 from [FreedomShe]自然语言处理的输入法作业成品没有做出来,但不想再在蛋疼的Win32上面耗费时间了,整理文档,记录一下心得,新手再来研究也不会迷路太远。1. IME简介2. IME结构3. IME调试环境配置及安装3.1. 配置步骤3.2. 配置说转载 2016-05-29 17:16:29 · 3850 阅读 · 1 评论 -
VC++ Tab Control控件的使用
1. 新建一个MFC工程, 取名MyTab, 选择Dialog based, 然后Finish.2. 删除对话框上默认添加的三个控件. 添加Tab Control控件并在Property属性中设置ID为IDC_TABTEST 在More Styles里勾上Bottom. 调速尺寸使其布满整个对话框, 我这边Tab Control的尺寸最后为164X203. 在ClassWizard为其添加变量,转载 2009-03-28 10:24:00 · 1617 阅读 · 1 评论 -
VC 项目配置基础
本文版权归 博客园 _银子 所有,转载请按如下方式自觉于醒目位置标明原文作者及出处,以示尊重!作者::_银子出处:http://www.cnblogs.com/c-gis/archive/2011/10/04/2198886.html一.IDE基础配置1. 字体VC6中“Tools→Options→Format→Font”配置字体;VC2005中“工具→选项→环境→字体和颜色”转载 2012-02-29 21:32:40 · 1329 阅读 · 0 评论 -
shared_ptr四宗罪
本文版权归 liancheng 所有,如有转载请按如下方式标明原创作者及出处,以示尊重!!原创作者:liancheng 原文出处:http://blog.liancheng.info/?p=85 在基于C++的大型系统的设计实现中,由于缺乏语言级别的GC支持,资源生存周期往往是一个棘手的问题。系统地解决这个问题的方法无非两种:使用GC库 使用引用计数 严格地说,转载 2011-06-08 11:18:00 · 2637 阅读 · 0 评论 -
浅谈C++的智能指针
一转:http://www.cppblog.com/yearner/archive/2008/11/09/66447.html浅谈C++的智能指针内存泄露是C++程序员都头疼的大问题。C++缺乏像JAVA、C#一样,拥有GC这么一项有利的武器,它将内存管理的部分权限交给了程序员。虽然GC的存在节约了开发、排错的时间与成本,但是C++为了追求运行速度而20年来坚决不予补充进其标准。(题外话:转载 2011-06-08 11:12:00 · 891 阅读 · 0 评论 -
错误代码中文查询GetLastError返回代码的含义
〖0〗-操作成功完成。 〖1〗-功能错误。 〖2〗-系统找不到指定的文件。 〖3〗-系统找不到指定的路径。 〖4〗-系统无法打开文件。 〖5〗-拒绝访问。 〖6〗-句柄无效。 〖7〗-存储控制块被损坏。 〖8〗-存储空间不足,无法处理此命令。 〖9〗-存储控制块地址无效。 〖10〗-环境错误。 〖11〗-试图加载格式错误的程序。 〖12〗-访问码无效。 〖13〗-数据无效。 〖14〗-存储器不足,转载 2009-08-10 14:33:00 · 4270 阅读 · 1 评论 -
七种VC延时方式
方式一:VC中的WM_TIMER消息映射能进行简单的时间控制。首先调用函数SetTimer()设置定时间隔,如SetTimer(0,200,NULL)即为设置200ms的时间间隔。然后在应用程序中增加定时响应函数 OnTimer(),并在该函数中添加响应的处理语句,用来完成到达定时时间的操作。这种定时方法非常简单,可以实现一定的定时功能,但其定时功能如同Sleep()函数的延时功能一样,精度非常低转载 2009-07-24 10:00:00 · 1060 阅读 · 0 评论 -
MFC自定义消息
消息映射、循环机制是Windows程序运行的基本方式。VC++ MFC 中有许多现成的消息句柄,可当我们需要完成其它的任务,需要自定义消息,就遇到了一些困难。在MFC ClassWizard中不允许添加用户自定义消息,所以我们必须手动在程序中添加相应代码,以便可以象处理其它消息一样处理自定义消息。自定义消息的步骤如下:(1)建立Single Document的MFC Applicati转载 2009-03-05 20:21:00 · 4827 阅读 · 1 评论 -
MFC 教程【4_消息映射的实现】
消息映射的实现 Windows消息概述 Windows应用程序的输入由Windows系统以消息的形式发送给应用程序的窗口。这些窗口通过窗口过程来接收和处理消息,然后把控制返还给Windows。消息的分类 队列消息和非队列消息 从消息的发送途径上看,消息分两种:队列消息和非队列消息。队列消息送到系统消息队列,然后到线程消息队列转载 2008-11-05 17:09:00 · 1449 阅读 · 0 评论 -
MFC 教程【13_MFC工具条和状态栏 】
MFC工具条和状态栏 Windows控制窗口 Windows (Windows95或者以上版本) 提供了系列通用控制窗口,其中包括工具条(ToolBar)、状态栏(StatusBar)、工具条提示窗口(ToolTip)。Windows在一个DLL加载时注册个控制窗口的“窗口类”。例如,工具条的“窗口类”是“ToolbarWindow32”,状态栏的“窗口类转载 2008-11-05 17:21:00 · 1561 阅读 · 0 评论 -
MFC 教程【1_MFC概述 】
MFC概述 MFC是一个编程框架 MFC (Microsoft Foundation Class Library)中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上来建立Windows下的应用程序,这是一种相对SDK来说更为简单的方法。因为总体上,MFC框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序员所要做的就是通过预定义转载 2008-11-05 17:05:00 · 1141 阅读 · 0 评论 -
MFC 教程【3_CObject类】
CObject类 CObject是大多数MFC类的根类或基类。CObject类有很多有用的特性:对运行时类信息的支持,对动态创建的支持,对串行化的支持,对象诊断输出,等等。MFC从CObject派生出许多类,具备其中的一个或者多个特性。程序员也可以从CObject类派生出自己的类,利用CObject类的这些特性。本章将讨论MFC如何设计CObject类的这些特性。首先,考转载 2008-11-05 17:08:00 · 982 阅读 · 0 评论 -
MFC 教程【9_MFC的状态】
MFC的状态 MFC定义了多种状态信息,这里要介绍的是模块状态、进程状态、线程状态。这些状态可以组合在一起,例如MFC句柄映射就是模块和线程局部有效的,属于模块-线程状态的一部分。模块状态 这里模块的含义是:一个可执行的程序或者一个使用MFC DLL的DLL,比如一个OLE控件就是一个模块。一个应用程序的每一个模块都有一个状态,模块状态包括这样一些信息转载 2008-11-05 17:17:00 · 1573 阅读 · 0 评论 -
MFC 教程【10_内存分配方式和调试机制 】
内存分配方式和调试机制 M内存分配 内存分配函数 MFCWin32或者C语言的内存分配API,有四种内存分配API可供使用。Win32的堆分配函数 每一个进程都可以使用堆分配函数创建一个私有的堆──调用进程地址空间的一个或者多个页面。DLL创建的私有堆必定在调用DLL的进程的地址空间内,只能被调用进程访问。HeapCre转载 2008-11-05 17:18:00 · 1047 阅读 · 0 评论 -
MFC 教程【11_MFC下的文件类 】
MFC下的文件类 文件操作的方法 使用Visual C++编程,有如下方法进行文件操作:(1)使用标准C运行库函数,包括fopen、fclose、fseek等。(2)使用Win16下的文件和目录操作函数,如lopen、lclose、lseek等。不过,在Win32下,这些函数主要是为了和Win16向后兼容。(3)使用Win32下的文件和目录操作函数转载 2008-11-05 17:19:00 · 1322 阅读 · 0 评论 -
MFC 教程【14_SOCKET类的设计和实现】
SOCKET类的设计和实现 WinSock基本知识 这里不打算系统地介绍socket或者WinSock的知识。首先介绍WinSock API函数,讲解阻塞/非阻塞的概念;然后介绍socket的使用。WinSock API Socket接口是网络编程(通常是TCP/IP协议,也可以是其他协议)的API。最早的Socket接口是Berkeley转载 2008-11-05 17:22:00 · 1109 阅读 · 0 评论 -
MFC 教程【5_MFC对象的创建】
MFC对象的创建 前面几章介绍了MFC的核心概念和思想,即介绍了MFC对Windows对象的封装方法和特点;MFC对象的动态创建、序列化;MFC消息映射机制。现在,考查MFC的应用程序结构体系,即以文档-视为核心的编程模式。学习本章,应该弄清楚以下问题:MFC中诸多MFC对象的关系:应用程序对象,文档对象,边框窗口对象,文档边框窗口对象,视对象,文档模板对象等。MFC对象的创转载 2008-11-05 17:12:00 · 3208 阅读 · 2 评论 -
MFC 教程【6_应用程序的退出 】
应用程序的退出 一个Windows应用程序启动之后,一般是进入消息循环,等待或者处理用户的输入,直到用户关闭应用程序窗口,退出应用程序为止。例如,用户按主窗口的关闭按钮,或者选择执行系统菜单“关闭”,或者从“文件”菜单选择执行“退出”,都会导致主窗口被关闭。当用户从“文件”菜单选择执行“退出”时,将发送MFC标准命令消息ID_APP_EXIT。MFC实现了函数CWi转载 2008-11-05 17:13:00 · 3899 阅读 · 0 评论 -
MFC 教程【7_MFC的DLL 】
MFC的DLL 一般的,在介绍Windows编程的书中讲述DLL的有关知识较多,而介绍MFC的书则比较少地提到。即使使用MFC来编写动态链接库,对于初步接触DLL的程序员来说,了解DLL的背景知识是必要的。另外,MFC提供了新的手段来帮助编写DLL程序。所以,本节先简洁的介绍有关概念。DLL的背景知识 静态链接和动态链接 当前链接的目标代码转载 2008-11-05 17:14:00 · 1141 阅读 · 0 评论 -
MFC 教程【8_MFC的进程和线程 】
MFC的进程和线程 Win32的进程和线程概念 进程是一个可执行的程序,由私有虚拟地址空间、代码、数据和其他操作系统资源(如进程创建的文件、管道、同步对象等)组成。一个应用程序可以有一个或多个进程,一个进程可以有一个或多个线程,其中一个是主线程。线程是操作系统分时调度分配CPU时间的基本实体。一个线程可以执行程序的任意部分的代码,即使这部分代码被另一个线程转载 2008-11-05 17:15:00 · 1099 阅读 · 0 评论 -
MFC 教程【12_对话框和对话框类CDialog 】
对话框和对话框类CDialog 对话框经常被使用,因为对话框可以从模板创建,而对话框模板是可以使用资源编辑器方便地进行编辑的。模式和无模式对话框 对话框分两种类型,模式对话框和无模式对话框。模式对话框 一个模式对话框是一个有系统菜单、标题栏、边线等的弹出式窗口。在创建对话框时指定WS_POPUP, WS_SYSMENU, WS_CAPT转载 2008-11-05 17:20:00 · 1685 阅读 · 0 评论 -
用VC++建立Service服务应用程序
用VC++建立Service服务应用程序作者:李佳颖(niying)下载源代码 本文主要介绍了 OpenSCManager、CreateService、OpenService、ControlService、DeleteService、RegisterServiceCtrlHandler、SetServiceStatus、StartServiceCtrlDispatcher等操作服务程转载 2009-02-13 14:27:00 · 1027 阅读 · 0 评论 -
VC中自行构建Stack(堆栈)类
templateclass Stack{struct Link{ T* data; Link* next; Link(T* dat,Link* nxt):data(dat),next(nxt){} }*head;public: Stack():head(0){} ~Stack(){ while(head) delet原创 2009-02-17 14:40:00 · 1211 阅读 · 0 评论 -
MFC 教程【2_MFC和Win32 】
MFC和Win32 MFC Object和Windows Object的关系 MFC中最重要的封装是对Win32 API的封装,因此,理解Windows Object和MFC Object (C++对象,一个C++类的实例)之间的关系是理解MFC的关键之一。所谓Windows Object(Windows对象)是Win32下用句柄表示的Windows操作系统对转载 2008-11-05 17:06:00 · 1039 阅读 · 0 评论