- 博客(30)
- 资源 (3)
- 收藏
- 关注
转载 代码测试之内存泄露
代码测试之内存泄露 在我们个人编程的过程当中,内存泄露虽然不会像内存溢出那样造成各种莫名奇妙的问题,但是它的危害也是不可忽视的。一方面,内存的泄露导致我们的软件在运行过程中占用了越来越多的内存,占有资源而又得不到及时清理,这会导致我们程序的效率越来越低;另一方面,它会影响我们用户的体验,失去市场的竞争能力。 常见的内存泄露是这样的:vie
2011-11-25 16:09:32 447
转载 代码测试之内存越界
代码测试之内存越界 内存越界是我们软件开发中经常遇到的一个问题。不经意间的复制常常导致很严重的后果。经常使用memset、memmove、strcpy、strncpy、strcat、sprintf的朋友肯定对此印象深刻,下面就是我个人在开发中实际遇到的一个开发问题,颇具典型。view plain#define MAX_SET_STR
2011-11-25 16:08:24 538
转载 代码测试之代码调试
代码测试之代码调试 代码测试是我们开发过程中很重要的一步。很多新入行的朋友都会习惯地认为测试只是测试部门的工作,事实上并不是这样。每一位软件工程师对应该本着对自己代码负责的态度,在入库或者进行集成测试之前对自己的代码进行充分的测试。那么掌握代码的调试技巧和编写测试用例就成为我们日常生活中很重要的一个部分。本文就针对代码调试问题进行分析和解决。 调试工具: Vi
2011-11-25 10:41:10 435
原创 磁盘类型转换(fat转换ntfs)
1. 打开命令行方式。依次点击Start(开始)、All Programs(所有程序)、Accessories(附件)、Command Prompt(命令提示符)。 2. 在命令提示符窗口中,输入convert : /fs:ntfs。 例如,convert D: /fs:ntfs命令将采用NTFS格式对D驱动器进行格式化。输入盘名。您可以通过这条命令将FAT或FAT32卷转换为NTFS格式
2011-11-18 11:59:16 844
转载 MFC之MessageBox用法
MFC之MessageBox用法 一 函数原型及参数 function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer; hWnd:对话框父窗口句柄,对话框显示在Delphi窗体内,可使用窗体的Handle属性,否则可用0,使其直接作为桌面窗口的子窗口。 Text:欲显示的信息字符串
2011-11-17 18:17:08 547
原创 对VC++一些常见问题的整理
对VC++一些常见问题的整理(1)为什么某个类突然在工作区间里面突然看不见了?只是类隐藏了,打开FILEVIEW,找到隐藏类的头文件,随便敲一下键盘的空格键,类就会在CLASSVIEW中显示了(2)在基于对话框的程序中,一按回车键,对话框就没了。把确定按纽的缺省属性前面的对勾去掉,重载OnOk()函数,在OnOk()函数里注释掉调用基类的OnOk()函数那行代码
2011-11-17 16:47:05 1029
转载 VC常用代码
VC常用代码 一、改变视图背景色:在CView的OnDraw函数中添写如下一段程序代码:void CFileNameView::OnDraw(CDC* pDC){CFileNameDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);CRect rectClient;CBrush brushBkColo
2011-11-17 15:53:59 724
转载 Cstring类
Cstring类 (一) 概述 string和CString均是字符串模板类,string为标准模板类(STL)定义的字符串类,已经纳入C++标准之中; CString(typedef CStringT > CString)为Visual C++中最常用的字符串类,继承自CSimpleStringT类,主要应用在MFC和AT
2011-11-17 15:48:03 3977
转载 单片机c编程
C语言学习集2008-09-28 16:47单片机C语言之一_______________________________________预处理一》宏定义:1、不带参数:#define 标识符 常量表达式 /*#define是宏定义命令,宏名(标识符)好习惯用大写*/#define NIL 0x802、带参数:/*相当于小函数*/#
2011-11-17 15:41:45 1000
转载 单片机、微控制器和微处理器有何区别
1. 问:单片机、微控制器和微处理器有何区别? 答:处理器通常指微处理器、微控制器和数字信号处理器这三种类型的芯片。微处理器(MPU)通常代表一个功能强大的CPU,但不是为任何已有的特定计算目 的而设计的芯片。这种芯片往往是个人计算机和高端工作站的核心CPU。最常见的微处理器是Motorola的68K系列和Intel的X86系列。 早期的微控制器是将一个计算机集成到一个芯片中,实现嵌入式应
2011-11-17 15:32:29 3749
转载 VC对话框之间的数据交换
VC对话框之间的数据交换 父窗口中:void CmyCommDlgsDlg::OnBnClickedButton1(){//显示一个子窗口类的实例.CMySubDlg dlg;//m_pPWnd是在子窗口类中用户自定义的公共 CWnd * 型变量.//用来在子窗口显示时得到主窗口指针.dlg.m_pPWnd = this;dlg.Do
2011-11-17 15:29:15 1016
转载 VC 实现自绘 窗体 标题栏 非客户区
VC 实现 自绘 窗体 标题栏 非客户区2008-08-21 10:19本程序在VC03测试成功,效果, 图片素材:从BC1.bmp到第2页的UR_N.bmp1.准备工作。(1)得到文件夹中的位图句柄:首先要准备相应图片。HBITMAP bitmap;bitmap=(HBITMAP)::LoadImage(AfxGetInstanceHandle
2011-11-17 15:26:51 1494
原创 寄存器功能
时钟周期是一个时间的量,一般规定10纳秒(ns)为一个时钟周期。一条汇编语句的执行时间是1~4个时钟周期。一条c语句是由几条汇编语句组成(具体几条可以查询相应的表)。寄存器AX和AL通常称为累加器(Accumulator),可用于乘、除、输入/输出等操作,它们的使用频率很高; 寄存器BX称为基地址寄存器(Base Register),可作为存储器指针来使用; 寄
2011-11-17 15:17:50 1185
转载 汇编寄存器知识
汇编寄存器知识 (一)32位CPU所含有的寄存器有: 1、数据寄存器。4个:EAX、EBX、ECX、EDX。 2、变址寄存器(Index Register)。2个:ESI、EDI。 3、指针寄存器(Pointer Register)。2个:ESP(Extended Stack Pointer)、EBP(Extended Base Pointer)
2011-11-12 10:13:19 684
原创 一个有趣的现象
#includestdio.h> int main() { int a='abc'; printf("%s\n",&a); //printf(&a); }运行结果为:cba解释:int a='abc';编译器会将'abc'扩展为int,它的值为6382179 即0x00616263而intel
2011-11-07 19:00:20 416
转载 *p++与(*p)++与*(p++
*p++与(*p)++与*(p++ 这个问题其实是论述*P++等价于(*p)++还是等价于*(p++)的问题,为了验证这个问题,我编写了下面的小程序(vc++6.0编译环境),作为验证程序1#include "stdio.h"void main(){ int a=2; int *p=&a; int *pold;//记录P指向的
2011-11-07 16:41:20 644
转载 setjump和longjump
setjump和longjump int setjmp( jmp_buf env );void longjmp( jmp_buf env, int value ); # setjmp(j)设置“jump”点,用正确的程序上下文填充jmp_buf 对象j。这个上下文包括程序存放位置、栈和框架指针,其它重要的寄存器和内存数据。当初始化完jump 的上下文,se
2011-11-07 16:40:48 1787
原创 二分排序法(折半插入法)
二分排序法貌似是第一次听说,在wangsifu2009的博客上看到。以前只听说过堆排序、快排序、希尔排序、选择、插入、冒泡排序,于是在网上搜索了一下,其代码实现是这样的: #include #include void TwoInsertSort(int array[],int n){ int left,right,num; int middle,j,
2011-11-07 16:35:05 34947 4
原创 作用域 全局变量 局部变量 静态变量 外部变量 常量 volatile变量
作用域 全局变量 局部变量 静态变量 外部变量 常量 volatile变量 作用域:作用域规则告诉我们一个变量的有效范围,它在哪儿创建,在哪儿销毁(也就是说超出了作用域)。变量的有效作用域从它的定义点开始,到和定义变量之前最邻近的开括号配对的第一个闭括号。也就是说,作用域由变量所在的最近一对括号确定。全局变量:全局变量是在所有函数体的外部定义的
2011-11-07 16:30:20 957
转载 static全局变量与普通的全局变量有什么区别?
static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别? 答 、全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源
2011-11-07 16:29:02 462
原创 结构体字节对齐(vc++)
结构体字节对齐问题1.引出问题 我们先来看两个小程序 #include struct fiber1 { char p1; short p2; int p3; } struct fiber2 {
2011-11-07 14:55:35 1573
转载 高效程序员的45个习惯
高效程序员的45个习惯优秀来自好的习惯。怎样成为优秀的开发人员?图灵公司最近热销的《高效程序员的45个习惯》一书给出了很好的解答,非常值得一读。这本书的英文原版荣获了有软件奥斯卡之称的Jolt生产效率大奖,在Amazon上也是好评如潮。第一作者Venkat Subramaniam博士是Agile Developer公司创始人,敏捷开发方面的权威人士,精通各种开发技术。第二作者And
2011-11-07 10:16:44 546
转载 c++类继承内存布局的
今天在网上看到了一篇写得非常好的文章,是有关c++类继承内存布局的。看了之后获益良多,现在转在我自己的博客里面,作为以后复习之用。——谈VC++对象模型(美)简.格雷程化 译 译者前言 一个C++程序员,想要进一步提升技术水平的话,应该多了解一些语言的语意细节。对于使用VC++的程序员来说,还应该了解一些VC++对于C++的诠释。 Inside the C++ Objec
2011-11-07 08:14:15 6730 4
原创 动态链接库与静态链接库的区别
静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib 中的指令都全部被直接包含在最终生成的 EXE 文件中了。但是若使用动态链接库(DLL),该 DLL 不必被包含在最终 EXE 文件中,EXE 文件执行时可以“动态”地引用和卸载这个与 EXE 独立的 DLL 文件。静态链接库和动态链接库的另外一个区别在于静态链接库中不能再包含其他的动态链接库或者静态库,而在
2011-11-06 15:26:21 531
转载 C++中各种类型的变量的存储区域和作用域
C++中各种类型的变量的存储区域和作用域变量有:全局变量、静态全局变量、静态局部变量、局部变量。按照存储区域分,全局变量,静态全局变量和静态局部变量都是存储在内存的静态存储区域的,局部变量存放在内存的栈区。而按照作用域来,全局变量在整个程序文件中有效,静态全局变量只在定义它的文件中有效,静态局部变量只在定义它的函数内有效,程序分配一次内存,函数返回后任然有效,直到程序结束才销毁,局部变量只
2011-11-06 15:09:09 1877
转载 MFC应用程序中指针的使用 视图 框架 文档 状态栏 菜单栏
MFC应用程序中指针的使用 视图 框架 文档 状态栏 菜单栏分类: VC编程2009-11-28 20:36 38人阅读 评论(0) 收藏 举报 1) 在View中获得Doc指针 2) 在App中获得MainFrame指针 3) 在View中获得MainFrame指针 4) 获得View(已建立)指针 5) 获得当前文档指针 6) 获得状态栏与工具栏指针 7)
2011-11-06 15:03:42 1030
转载 MFC重画函数【转】
MFC重画函数【转】在刷新窗口时经常要调用重绘函数MFC提供了三个函数用于窗口重绘InvalidateRect(&Rect)Invalidate()UpdateWindow()当需要更新或者重绘窗口时,一般系统会发出两个消息WM_PAINT(通知客户区有变化)和WM_NCPAINT(通知非客户区有变化)--WM_NVPAINT系统会自己搞定--WM_PAINT消息对
2011-11-06 15:02:48 4716
原创 (vc)全局变量和全局函数便于管理的定义方法
1、添加一个没有基类的新类,设类名起为CPublic,姑且称之为公用类 单击“Insert”菜单下的“New Class”命令,选择“Class type”为“Generic Class”,在“Name”栏中填入类名“CPublic”,单击“OK”,则新类建立完毕。 2、包含公用类的头文件,使各个类都能访问它 CPublic的头文件应包含在应用程序类的头文件中,这样在
2011-11-06 15:01:47 1905
原创 如何在类中封装回调函数?
如何在类中封装回调函数?我们知道回调函数只能是全局的或是静态的。全局函数会破坏类的封装性,故不予采用。而静态函数只能访问类的静态成员,不能访问类中非静态成员。 那么如何让静态函数访问类的非静态成员呢? 1).声明一静态函数a(),将类实例对象指针做为参数传入。如: class A() { static void a(A *); //静态
2011-11-06 14:58:31 5880 2
转载 STL容器(vector,list)--数组和链表的区别
STL容器(vector,list)--数组和链表的区别 (2009-12-30 16:36:09)转载标签: vector list it 分类: C-plus-plus基础/泛型编程stl提供了三个最基本的容器:vector,list,deque。 vector和built-in数组类似,它拥有一段连续的内存空间,并且起始地址不变,因此 它能非常好的支持随即存取,
2011-11-06 14:19:17 3593
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人