博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页

2009年9月29日

摘要: 一、问题提出首先,我们来看以下两个小程序:  程序1:#include <stdio.h>struct struct1{char p1;short int p2;long p3;};main(){printf(″the size of the strcu=%d\n″, sizeof(struct1));return(1);}  运行结果是:the size of... 阅读全文

posted @ 2009-09-29 17:15 RUI2021 阅读(1098) 评论(0) 推荐(0) 编辑

摘要: 一、程序运行平台不同的平台上对不同数据类型分配的字节数是不同的。个人对平台的理解是CPU+OS+Compiler,是因为:1、64位机器也可以装32位系统(x64装XP);2、32位机器上可以有16/32位的编译器(XP上有tc是16位的,其他常见的是32位的);3、即使是32位的编译器也可以弄出64位的integer来(int64)。以上这些是基于常见的wintel平台,加上我们可能很少机会接触... 阅读全文

posted @ 2009-09-29 17:09 RUI2021 阅读(5930) 评论(0) 推荐(2) 编辑

2009年9月28日

摘要: 1.内存问题的原因及分类在C/C++程序中,有关内存使用的问题是最难发现和解决的。这些问题可能导致程序莫名其妙地停止、崩溃,或者不断消耗内存直至资源耗尽。由于C/C++语言本身的特质和历史原因,程序员使用内存需要注意的事项较多,而且语言本身也不提供类似Java的垃圾清理机制。编程人员使用一定的工具来查找和调试内存相关问题是十分必要的。总的说来,与内存有关的问题可以分成两类:内存访问错误和内存使用错... 阅读全文

posted @ 2009-09-28 11:27 RUI2021 阅读(1063) 评论(0) 推荐(0) 编辑

摘要: 内存泄漏的定义   一般我们常说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,大小任意的(内存块的大小可以在程序运行期决定),使用完后必须显示释放的内存。应用程序一般使用malloc,realloc,new等函数从堆中分配到一块内存,使用完后,程序必须负责相应的调用free或delete释放该内存块,否则,这块内存就不能被再次使用,我们就说这块内存泄漏了。以下这段小程序演示了堆内存发生泄... 阅读全文

posted @ 2009-09-28 10:14 RUI2021 阅读(691) 评论(0) 推荐(0) 编辑

摘要: 内存泄漏是编程中常常见到的一个问题,我所遇过的原因有两个: 1.分配完内存后忘记回收2.代码有问题,造成想回收却无法回收,例如:int*p=newint;p=newint;//p指针修改,原来申请内存的地址没有记录下来,于是无法释放下面介绍如何检查内存泄漏:1.包含头文件和定义#define_CRTDBG_MAP_ALLOC//并非绝对需要该语句,但如果有该语句,打印出来的是文件名和行数等更加直观... 阅读全文

posted @ 2009-09-28 10:02 RUI2021 阅读(615) 评论(2) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页