- 博客(27)
- 资源 (1)
- 收藏
- 关注
原创 i++和++i
1、i++是先赋值再自增; ++i是先自增再赋值2、i++在执行的时候回在中间产生一个临时变量来保存这个变量的增加,然后再返回这个值;不会影响整体,只会影响自己本(局部的表达式) int i = 2; i *= (i++); //结果为5 这里表示这个乘法是原来的数字(副本) 而++是在最
2014-09-29 13:01:36 705
原创 New Malloc
collect From web1.malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存2.对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由malloc/free是库函数而不是运算符,不在编译器控制权限之内
2014-09-01 11:05:06 434
原创 VS2010之MFC编译库引起的错误
在已经安装了VS2008或者之前版本的计算机上安装VS2010,用VS2010新建一个MFC程序,编译都通不过,错误如下:1> stdafx.cpp1>d:/program files/microsoft visual studio 10.0/vc/atlmfc/include/afxglobals.h(375): error C2143: syntax error :
2014-08-11 14:08:49 1130
原创 MFC多线程
1.MFC多线程简介MFC对多线程进行了一层简单的封装,在Visual C++中每个线程都是从CWinThread类继承而来的。每一个应用程序的执行都有一个主线程,这个主线程也是从CWinThread类继承而来的。可以利用CWinThread对象创建应用程序执行的其它线程。MFC用CWinThread对象来表示所有线程。利用MFC可以创建两种线程,分别称之为工作者线程和用户界面线程
2014-08-09 16:53:28 1578
原创 vs2003转为vs2010的问题
1>c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afx.h(24) : fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Plea
2014-08-07 18:22:02 854
翻译 启明星
金星--天亮前后,东方地平线上有时会看到一颗特别明亮的“晨星”,它不是光源,人们叫它“启明星”;而在黄昏时分,西方余辉中有时会出现一颗非常明亮的“昏星”,人们叫它“长庚星”。这两颗星其实是一颗,即金星.在中国民间称它为“太白”或“太白金星”。每天晚上出来的第一颗启明星金星。
2014-08-05 09:07:00 1039
原创 MFC-DLL
DLL(Dynamic Link Library,动态链接库)是微软公司为Windows和OS/2操作系统设计一种供应用程序在运行时调用的共享函数库。DLL是应用程序的一种扩展,也是软件共享和重用的传统方法。 DLL除了可同时被多个应用程序共享外,还可以在不改变调用接口(从而不需修改使用它的应用程序)的情况下,改进和升级里面的库函数。而且DLL与编写它的语言无关,例如,用VC生成的规则DL
2014-08-04 18:47:10 535
转载 OSI七层模型与TCP/IP五层模型
OSI七层模型OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 表示层 数据格式化,代码转换,数据加密 没有协议 会话层 解除或建立与别的接点的联系 没有协议 传输层 提供端对端的接口 TCP,UDP 网络层 为数据包选择路由 IP,ICMP,RIP,OSPF
2014-07-31 14:41:30 530
转载 关于SetCapture() 和 ReleaseCapture()的用法
查MSND,对SetCapture()函数的说明为:“该函数在属于当前线程的指定窗口里设置鼠标捕获。一旦窗口捕获了鼠标,所有鼠标输入都针对该窗口,无论光标是否在窗口的边界内。同一时刻只能有一个窗口捕获鼠标。如果鼠标光标在另一个线程创建的窗口上,只有当鼠标键按下时系统才将鼠标输入指向指定的窗口。”一开始我看这个解释误认为了只要在属于窗口里的一个线程调用了SetCapture(hWnd)把hWnd设为
2014-07-31 14:32:09 582
原创 MFC消息处理函数
MFC的消息处理函数1.AfxWndProc() 该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc2.AfxCallWndProc() 该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用,然后调用WindowProc()函数3.WindowProc() 该函数负责发送消息到OnWndMsg()函数
2014-07-31 12:32:05 1009
原创 模态对话框和非模态对话框
MFC中对话框有两种形式,一个是模态对话框(model dialog box),一个是非模态对话框(modeless dialog box)。
2014-07-30 18:45:26 517
原创 MFC消息响应机制(一)
由于视类窗口始终覆盖在框架类窗口之上,因此所有操作,包括鼠标单击、鼠标移动等操作都只能由视类窗口捕获。一个MFC消息响应函数在程序中有三处相关信息:函数原型、函数实现和以及用来关联消息和消息响应函数的宏。(1)在消息响应函数的原型代码中,函数声明的前部有一个afx_msg限定符,也是一个宏,该宏表明这个函数是一个消息响应函数的声明。(2)消息映射宏:在视图类的源文件中,BEGIN_MESS
2014-07-22 18:53:46 496
原创 原来我也在用回调函数
在看LWIP时,见到用回调函数,再看某老外公司OPC源代码时,见到用回调函数。看我国内某些代码(我公司软件等)时没用到。于是,我对回调函数产生了很大的好奇。以前,我写VC程序时用到过回调函数,但是没有用C语言来使用。最近,看到国外大量的经典代码中广泛使用了回调函数(LWIP、某两个公司的OPC程序等),都是C语言来实现的,而不是VC windows程序中别人实现自己使用的那种。为了弄明白这种函
2014-07-19 10:33:25 500
原创 缓冲区原理
什么是缓冲区缓冲区又称为缓存,它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区。缓冲区根据其对应的是输入设备还是输出设备,分为输入缓冲区和输出缓冲区。为什么要引入缓冲区我们为什么要引入缓冲区呢?比如我们从磁盘里取信息,我们先把读出的数据放在缓冲区,计算机再直接从缓冲区中取数据,等缓冲区的
2014-07-19 09:58:07 1747
原创 MFC的COleDateTime类在时间中的用法
经常在软件开发中用到计算执行某个功能的耗时,有必要深入研究下COleDateTime类,以备不时之需。闲话少叙,书归正传,下面我们就一起来看看,该如何使用这个类。下面文字基本是翻译msdn内容,以求增强理解。COleDateTime类是没有基类的,它封装了MFC的DATE数据类型,并提供了一系列的方法,来操作DATE结构体中的信息。DATE数据类型在OLE automa
2014-07-18 15:48:08 2001
原创 二叉树的操作
头文件,公用的结构内型 和相关函数的声明#ifndef BITREEEX_H#define BITREEEX_H#define MaxSize 50#include using namespace std;typedef char ElemType;typedef struct BiTreeEx{ ElemType data; struct BiT
2013-11-10 17:02:06 514
原创 双向链表的基本操作
main.c/**2013-11-7*双向链表的基本操作,类似于单向链表,只不过多出了一个前节点指针*基本操作详见代码中*/#include "D_List.h"int main(void){ pDLIST pHead = creat_dlist(); traverse(pHead); en_dlist(pHead, 3, 8);
2013-11-07 16:34:20 671
原创 链表栈(动态分配管理)
// 2013-11-5//链表静态栈/**在一个栈结构体中设置两个节点指针,分别指向栈顶和栈底*节点是按需要新增的,所以这个栈理论上是可以很大的,与windows系统自动分配的栈有所不同*首先要初始化栈,就是将栈顶和栈底都指向一个新造的节点,这个节点始终都存在,相当于链表中的头结点,*这个节点不放任何数据元素,只是用来管理栈的*/#include #inclu
2013-11-07 10:39:43 758
原创 17分钟过桥问题
如题: 某天深夜,四个逃犯越狱出来,到了一座桥前。桥很窄并且承重有限,一次最多只能通过两个人。这四个人只有一个手电筒,而没有手电筒是无法过桥的。逃犯甲年轻力壮,行动迅速,过桥需要1分钟;逃犯乙需要2分钟;逃犯丙需要5分钟;而逃犯丁由于年老体衰,行动迟缓,则需要10分钟。过桥必须借助手电筒,两个人一起过桥,过桥时间以较慢的人为准。 由于搜捕的人只需要17分钟就可以
2013-11-07 10:29:26 7026
原创 单向链表操作
// 链表操作.cpp : Defines the entry point for the console application.//链表的创建,插入,删除,反转,数据排序~~~~~~~~~~~~#include "stdafx.h"#include #include #include #include #include typedef struct No
2013-11-07 10:20:14 467
原创 运白菜问题
1、一个商人和一匹马要运送3000棵白菜到1000里外的小镇,马每次最多能运1000棵白菜,而且每走一里路要吃掉一棵白菜,问商人最多能运送多少白菜到目的地(商人自己不运送白菜) 思路:一共有3000课白菜,来1公里运一次,每次运1000棵; 将3000棵都运到1公里处时要消耗5棵白菜;
2013-10-23 19:04:14 849
原创 模板类实现stack
#ifndef STACK_H_INCLUDED#define STACK_H_INCLUDEDtemplate class Stack{private: enum {MAX = 100}; Type items[MAX]; int top;public: Stack(); bool isempty();
2013-10-12 10:46:19 457
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人