09 2013 档案

创建非模拟态对话框
摘要:CXXXDlg *a;//定义要弹出的一个非模态对话框对象a=new CXXXDlg;//分配a->Create(IDD_XXX);//对话框ID a->ShowWindow(TRUE);//显示 阅读全文

posted @ 2013-09-30 15:10 xiaofangne 阅读(193) 评论(0) 推荐(0)

类型转换函数
摘要:CString strFileName;LPSTR lpStr = (LPSTR)(LPCSTR)strFimeName;LPSTR lpStr = _T("TestStr");CString str(lpStr);cstring.format-----》http://www.cnblogs.com/zlintokyo/archive/2011/09/28/2193885.htmlstring str1="ewafgsadgvfsd";const char *str=str1.c_str();char *str3="fsdrfsdcds&quo 阅读全文

posted @ 2013-09-29 22:25 xiaofangne 阅读(192) 评论(0) 推荐(0)

地址总线和数据总线
摘要:cpu处理计算的时候“数据”和“指令”是不同对待的。 8位的CPU,一次只能处理一个8位的“数据”或者一个8位的"指令"。比如'00001101'. 又比如:“+1”这个运算,你要先指示CPU做“+”,完成后再输入“1”数据给CPU。 8位的CPU优点是设计简单,处理速度比较快。 缺点就是:软件设计复杂,繁琐。不利于计算机的发展。 后来推出了16位的CPU,我们就可以一次处理两个字节(16位)的数据了,比如“加1”这个命令。“加”是一个指令,占用8个位,余下的8位我们可以存放数据“1”了。 32位的CPU就更加方便了,我们就可以一次处理一个a=a+b这样的命 阅读全文

posted @ 2013-09-29 11:56 xiaofangne 阅读(1469) 评论(0) 推荐(0)

x86的字节对齐与不对齐的问题
摘要:比如这么一个结构体structfoo{shorts;intn;};structfoobar;假设bar的地址是0x12345670如果不按4字节对齐那么bar.n的地址就是0x12345672,也就是下面的黑体部分0x12345670a0a1a2a30x12345674b0b1b2b3为了取到n的值就需要访问两次内存,一次访问0x12345670,一次访问0x12345674然后把两个int值组合在一起,a2a3b0b1http://www.doc88.com/p-205512154878.html 此文中说明更加详细易懂市面上所说的64位处理器包括AMD Athlon 64与INTEL的EM 阅读全文

posted @ 2013-09-29 11:42 xiaofangne 阅读(569) 评论(0) 推荐(0)

size_t
摘要:在C++中,设计 size_t 就是为了适应多个平台的 。size_t的引入增强了程序在不同平台上的可移植性。size_t是针对系统定制的一种数据类型,一般是整型,因为C/C++标准只定义一最低的位数,而不是必需的固定位数。而且在内存里,对数的高位对齐存储还是低位对齐存储各系统都不一样。为了提高代码的可移植性,就有必要定义这样的数据类型。一般这种类型都会定义到它具体占几位内存等。当然,有些是编译器或系统已经给定义好的。经测试发现,在32位系统中size_t是4字节的,而在64位系统中,size_t是8字节的,这样利用该类型可以增强程序的可移植性。int i; // 定义一个int类型的变量is 阅读全文

posted @ 2013-09-29 10:34 xiaofangne 阅读(253) 评论(0) 推荐(0)

驱动程序与内核
摘要:英文名为“Device Driver”,全称为“设备驱动程序”是一种可以使计算机和设备通信的特殊程序,可以 说相当于硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作。 因此,驱动程序被誉为“硬件的灵魂”、“硬件的主宰”、和“硬件和系统之间的桥梁”等。刚装好的系统操作系统,很可能驱动程序安装的不完整。硬件越新,这种可能性越大。如操作系统刚装好的桌面“图标很大且颜色难看”就是因为没有安装好显卡驱动。驱动程序在系统中的所占的地位十分重要,一般当操作系统安装完毕后,首要的便是安装硬件设备的驱动程序。不过,大多数情况下,我们并不需要安装所有硬 阅读全文

posted @ 2013-09-28 20:33 xiaofangne 阅读(1126) 评论(0) 推荐(0)

VC++常用数据类型及其操作详解
摘要:目录一. VC常用数据类型列表二. 常用数据类型转化2.1数学类型变量与字符串相互转换2.2 CString及string,char *与其他数据类型的转换和操作●CString,string,char*的综合比较●数学类型与CString相互转化●CString与char*相互转换举例●CString 与 BSTR 型转换●VARIANT 型转化成 CString 型2.3 BSTR、_bstr_t与CComBSTR2.4 VARIANT 、_variant_t 与 COleVariant附录CString及字符串转及操作详解参考书籍:CSDN,> 一.VC常用数据类型列表TypeDe 阅读全文

posted @ 2013-09-28 19:18 xiaofangne 阅读(1786) 评论(0) 推荐(0)

编译器1
摘要:第一部分:变量的内存分配在介绍之前,先说明一下CPU的寄存器,我的计算机是64位的,但是为了方便,所以编译的程序是32位的,而且使用的32位调试器来进行分析的。这里简单介绍一下常用的寄存器。 32位平台常用的CPU寄存器如下:EAXECXEDXEBX //前面四个寄存器通常是存放临时数据ESP //ESP是非常关键的一个寄存器,它的作用是记录栈顶的内存地址EBP //在VC编译器编译出来的程序中,EBP的值通常作为局部变量寻址的基址ESIEDIEIP //EIP用于记录程序当前执行指令所在的内存地址 上述寄存器的长度都是32位,即4字节长度,本部分着重需要弄明白ESP,EBP的用途,下面举实例 阅读全文

posted @ 2013-09-28 19:02 xiaofangne 阅读(374) 评论(0) 推荐(0)

STL中的算法
摘要:STL中的所有算法(70个)参考自:http://www.cppblog.com/mzty/archive/2007/03/14/19819.htmlhttp://hi.baidu.com/dinglinbin/blog/item/887e7c30c12e429ba9018e30.html STL算法部分主要由头文件,,组成。要使用 STL中的算法函数必须包含头文件,对于数值算法须包含,中则定义了一些模板类,用来声明函数对象。------------------------------------------------------------------------------------- 阅读全文

posted @ 2013-09-28 18:59 xiaofangne 阅读(166) 评论(0) 推荐(0)

static
摘要:简介C#与C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。面向过程的static静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下:123456789101112131415//Example 1#include void fn();//声明函数static int n; //声明静态全局变量void main(){ n=20; //为 n 赋初值 coutvoid fn(); //声明 f... 阅读全文

posted @ 2013-09-28 18:56 xiaofangne 阅读(313) 评论(0) 推荐(0)

VC6.0开发中一些链接错误的解决方法
摘要:(1)error LNK2001: unresolved external symbol _main编号:LNK2001直译:未解决的外部符号:_main。错误分析:缺少main函数。看看main的拼写或大小写是否正确。(2)error LNK2005: _main already defined in xxxx.obj编号:LNK2005直译:_main已经存在于xxxx.obj中了。错误分析:直 接的原因是该程序中有多个(不止一个)main函数。这是初学C++的低年级同学在初次编程时经常犯的错误。这个错误通常不是你在同一个文件中包含有两个 main函数,而是在一个project(项目)中包 阅读全文

posted @ 2013-09-28 18:54 xiaofangne 阅读(337) 评论(0) 推荐(0)

导航