
C/C++/VC
文章平均质量分 78
lybacm
这个作者很懒,什么都没留下…
展开
-
Win32编程学习笔记
之前也学了点window编程,但零零碎碎的,知识体系不完整。现在开始,边复习边学新知识。下面都是在vs2010上写的程序。#include<windows.h>#include<stdio.h>/** * 本程序中用了Unicode的charset,所以下在用了一些定义的宏。 * 这可以通过:project->……prope...2010-10-16 01:31:57 · 117 阅读 · 0 评论 -
MFC学习笔记(五)
早期的MFC应用程序框架结构由两个对象组成:应用程序类CWinApp 的派生类对象和窗口类CFrameWnd的派生类对象,后者作为一个成员对象嵌在前者之中#include<windows.h>//定义全局变量和函数------------------------------------------------------------------------HINSTA...原创 2010-10-27 01:55:05 · 112 阅读 · 0 评论 -
MFC学习笔记(六)
先来了解几个类1、CObject类 有相当一部分类的基类是CObject类(比如CCmdTarget,CWnd,CFrameWnd)。它具有一些窗口类比较基础的功能:程序调试诊断信息输出通用功能,并且还对运行期对象类型识别、对象的动态创建、对象的序列化提供了相应的支持。 2、CCmdTarget类 MFC在这个类中封闭了窗口函数,因此,凡是希望具有处理windows消息的能力的...原创 2010-10-28 01:16:27 · 137 阅读 · 0 评论 -
MFC学习笔记(七)
创建一个普通的Win32 Application,加上一个.cpp的文件 ,拷贝如下内容。 #include <afxwin.h>// 由CWinApp派生的应用程序类声明class MyApp : public CWinApp{public: BOOL InitInstance(); //声明InitInstance()函数,在上一篇...原创 2010-10-28 01:29:54 · 98 阅读 · 0 评论 -
MFC学习笔记(八)
MFC把早期的窗口类的功能分成三个部分:数据存储、管理部分,数据显示与用户交互部分,管理窗口框的大小、标题、菜单条、状态条的窗框部分。从而形成了三个类:CDocument、视图类CView和窗口框架类CFrameWnd。上面的三个对象之间的关系类似于房屋的窗户,窗口框架类CFrameWnd相当于窗框,视图类CView相当于窗框上的玻璃,而文档类CDocument就相当于室内的物品。在房屋的...原创 2010-10-30 00:55:43 · 130 阅读 · 0 评论 -
MFC学习笔记(九)
前面已经讲了够多的基础性的东西了,还有一些,但我想还是之后遇到时再写吧,先开始MFC程序的创建与操作。图形。1、先从一个简单的字符串输入程序开始吧。在一个窗口中输出字符串。创建一个MFC单文档应用程序,在视图类(以View结尾的)的OnDraw( ) 函数中添加几句话,用来输出字符串:void CMFCTestView::OnDraw(CDC* pDC){ CMF...原创 2010-10-30 01:47:47 · 149 阅读 · 0 评论 -
VC2010中C++的右值引用新特性
// RightValue.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include <iostream>#include <algorithm>#include <vector>#include <ctime...2011-05-27 13:37:08 · 195 阅读 · 0 评论 -
对Windows程序中设备上下文DC(device context)的理解(转)
对Windows程序中设备上下文DC(device context)的理解:DC实际上是GDI内部保存的数据结构。DC与特定的显示设备(如显示器或打印机)相关。 对于显示器,DC总是与显示器上的特定视窗相关。DC中的有些值是图形「属性」,这些属性定义了GDI绘图函数工作的细节。例如,对於TextOut,DC的属性确定了文字的颜色、文字的背景色、x座标和y座标映射到视窗的显示区域的方式,...原创 2010-11-08 00:58:41 · 299 阅读 · 0 评论 -
object-c笔记一
(本笔记只是简单的记录,只给自己看)接口的定义:@interface Circle:NSObject{ ShapeColor fillColor; ShapeRect bounds;}-(void)setFillColor:(ShapeColor)fillColor;-(void)setBounds:(ShapeRect)bounds;-(void)dra...原创 2011-07-22 11:03:26 · 211 阅读 · 0 评论 -
linux下用命令编译/调试C++程序
先安装gcc : sudo apt-get install gcc 写一个C++的程序,然后用下面的命令编译: g++ test.cpp -g 当然你要找到你写的那个CPP文件的路径。编译后会产生一个文件:a.out,这就是编译后的结果。在window中,这个文件是a.exe。这个文件名也可以自己手动指定,如:g++ test.cpp -g -o test...2011-04-01 14:17:03 · 592 阅读 · 0 评论 -
MFC学习笔记(四)
前面写了那么多代码,但很多东西都是固定的,我们需要写的主要是消息处理函数。。。所以可以把这些代码模块化,把要我们写的部分空出来。下面的代码虽然有点复杂,但已经给出了类似这样的模块化方法。 #include<windows.h>//定义全局变量--------------------------------------------------------------...原创 2010-10-27 00:28:49 · 168 阅读 · 0 评论 -
MFC学习笔记(三)
这一次修改事件的处理函数,当鼠标左键按下时,可在窗口的用户区显示一个字符串“凌云壮志”。另一方面,用函数将程序模块化。 #include<windows.h>//定义全局变量------------------------------------------HINSTANCE hInst; HWND hWnd; MSG msg;char l...原创 2010-10-26 14:54:50 · 109 阅读 · 0 评论 -
高质量C++/C编程学习笔记(一)----- 入门
学了这么久的C/C++,在读《高质量C++/C编程指南》时竟然发现自己以前的编程水平这么糟糕。。。首先是一套面试用的卷子,做完之后还洋洋得意,可是一对答案,正确率居然低于30% ,可悲。。。 这卷子也不好贴出,需要的朋友可以找我拿:lingyibin@gmail.com下面得开始好好学习本书了。 1、注释规范: /* * Copyright (c) 2001,上...2010-10-21 01:05:27 · 106 阅读 · 0 评论 -
高质量C++/C编程学习笔记(二)----- 基础
1、在函数体的“入口处” ,用断言对参数的有效性进行检查。断言 assert 是仅在 Debug 版本起作用的宏,它用于检查“不应该”发生的情况。 void *memcpy(void *pvTo, const void *pvFrom, size_t size) { assert((pvTo != NULL) && (pvFrom != NULL)); // ...2010-10-21 23:10:08 · 82 阅读 · 0 评论 -
高质量C++/C编程学习笔记(三)----- 内存管理(1)
1、 三种内存分配方式 这是最基本的知识。 (1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static 变量。 (2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 (3...2010-10-22 00:17:43 · 138 阅读 · 0 评论 -
高质量C++/C编程学习笔记(四)----- 内存管理(2)
5、用指针参数传递内存 用指针作为函数的参数,如果去申请动态内存的话,是不会成功的。void GetMemory(char *p, int num) { p = (char *)malloc(sizeof(char) * num); } void Test(void) { char *str = NULL; GetMemory(str, 100);...2010-10-22 00:46:07 · 105 阅读 · 0 评论 -
高质量C++/C编程学习笔记(五)----- 基础函数的高级特性
1、重载: 只能靠参数而不能靠返回值类型的不同来区分重载函数。编译器根据参数为每个重载函数产生不同的内部标识符。如void Test(int …);void Test(char…);void Test(float…); 编译器有可能会为这三个函数产生三个像_test_int、_test_char、_test_float 之类的内部标识符,当做不同的编译器可能产生不同风格的内部标识符,上面这...2010-10-24 02:13:09 · 82 阅读 · 0 评论 -
高质量C++/C编程学习笔记(六)----- 构造 析构 赋值函数
1、当创建一个类时,C++编译器将默认产生下列函数: A(void); // 缺省的无参数构造函数 A(const A &a); // 缺省的拷贝构造函数 ~A(void); // 缺省的析构函数 A & operate =(const A &a); // 缺省的赋值函数 “缺省的拷贝构造函数”和“缺...原创 2010-10-24 10:15:52 · 91 阅读 · 0 评论 -
高质量C++/C编程学习笔记(七)----- 其它
1、继承不要随便使用,继承规则应当是:若在逻辑上 B 是 A 的“一种” ,并且 A 的所有功能和属性对 B 而言都有意义,则允许 B 继承 A 的功能和属性。 2、 如果输入参数采用“指针传递” ,那么加 const 修饰可以防止意外地改动该指针,起到保护作用。 如:void StringCopy(char *strDestination, const char *strSource...原创 2010-10-24 10:29:38 · 75 阅读 · 0 评论 -
MFC学习笔记(一)
之前也学过一点MFC的知识,但因很久没去碰就都忘 得差不多了。于是我想再从头开始,系统的再学一遍,并同步这个学习笔记。与大家共享,共同学习MFC。学习教材主要是清华大学出版的《MFC Windows 应用程序设计(第二版)》。当然也会参考一些其它的资料……该书的目录如下: 第1章 Windows应用程序基础知识 1.1 Windows应用程序的基本概念 1.2 Windows...原创 2010-10-26 14:21:47 · 188 阅读 · 0 评论 -
MFC学习笔记(二)
上一篇写的是一个单窗口的程序,这一次写一个多窗口的程序,第一个窗口都有自己的“特色”,ujfm任一个窗口都会发出beep声,关闭任何一个窗口都会关闭全部。基本和上一个一样,只是多了几个重复的描述、注册、创建等过程。基本相同,所以只给代码。#include<windows.h>//声明窗口函数原型LRESULT CALLBACK WndProc(HWND,UINT,...原创 2010-10-26 14:31:44 · 94 阅读 · 0 评论 -
连连看全局消除算法
好久没写技术博客了。Iteye依然这么亲切!内存分析了连连看内部数据,找出了方块摆放的那一段数据,用程序把它读出来,放到一个二维数组里面,构成一个矩阵。这些数据就做为这个算法的数据基础。这是今天突发奇想,写出来的代码,结合内存读出来的数据,可以瞬间把连连看里面的方块消得个精光。开局: 一阵电闪雷鸣,瞬间之后,就变成下面这样子了: 但本篇文章不讲这个外挂程序。只讲...原创 2012-03-08 01:48:25 · 1031 阅读 · 0 评论