关于Delphi中的字符串的浅析 只是浅浅的解析下,让大家可以快速的理解字符串。 其中的所有代码均在Delphi7下测试通过。 Delphi 4,5,6,7中有字符串类型包括了: 短字符串(Short String) 长字符串(Long String) 宽字符串(Wide String) 零结尾字符
在仿写stl的过程中,被一处内存错误卡了很久。当内存池需要多次malloc时会出现堆损坏的错误,初步判断是数组越界,但总是检查不出来。一开始用Dr.Memory检查不出来,就试了一下devpartner。官网链接 http://www.borland.com/zh-CN/Products/Softw
分类:
编程语言 时间:
2016-02-16 22:00:56
阅读次数:
171
问题现象:F9后,调试程序,提示内存错误,点击了“乎略”。之后再也没有出现错误了。可是想改这个BUG时,没法取消乎略了。问题原因:在DLEPHI的选项中是这么一个地方是可以设置的。问题处理:打开DLEPHI->Tools->Options...->Native OS Exceptions(托到最后)...
分类:
其他好文 时间:
2016-01-18 12:14:48
阅读次数:
141
开始可以使用ARC( Automatic Reference Counting:自动引用计数 )来代替之前的MRC(Manual Reference Counting:人工引用计数)。使用ARC会减少很多代码和忘了释放对象的苦恼。但是事情都有两面性。使用了ARC之后如果你想复用以前写过的使用MRC的...
分类:
其他好文 时间:
2015-12-01 12:18:16
阅读次数:
104
最近总是有各种调试时的错误,内存错误一般,我无意中发现的所有全局变量失败,也就是说,全局变量声明之后,颂值早期值误.初值明明是0x12345674,最后变为了0xBA141234,出现了移位现象測试代码//内存測试,防止出现内存异常,主要表现为全局变量初始化有问题#define MEM_TEST 0...
分类:
其他好文 时间:
2015-09-27 08:50:05
阅读次数:
256
转自:http://blog.chinaunix.net/uid-23228758-id-4355524.html随着诸如代码重构和单元测试等方法引入实践,调试技能渐渐弱化了,甚至有人主张废除调试器。这是有道理的,原因在于调试的代价往往太大了,特别是调试系统集成之后的BUG,一个BUG花了几天甚至数...
分类:
其他好文 时间:
2015-09-24 19:04:28
阅读次数:
261
一、简介 C/C++程序,最常见的错误之一就是内存泄露。Valgrind 是一款 Linux下的内存调试工具,它可以对编译后的二进制程序进行内存使用监测找出内存泄漏问题。 Valgrind通常包括如下几个工具: Memcheck:用于检测内存错误。它帮助c和c++的程序更正确。 Cachegrind...
分类:
系统相关 时间:
2015-09-10 14:24:39
阅读次数:
243
内存分配未成功,却使用了它。编程新手常犯这种错误,因为他们没有意识到内存分配会不成功。常用解决办法是,在使用内存之前检查指针是否为NULL。如果指针p是函数的参数,那么在函数的入口处用assert(p!=NULL)进行检查。如果是用malloc或new来申请内存,应该用if(p==NULL)或if(..
分类:
其他好文 时间:
2015-09-04 02:20:00
阅读次数:
188
C语言指针和内存泄露常见的内存错误:1.内存分配未成功却使用了它。如果指针p是函数的参数,要在函数的入口处用assert(p!=NULL)进行检查;如果是用malloc来动态申请内存,应该用if(p==NULL)或if(p!=NULL)进行防错处理。2.内存分配成功,尚未初始化就使用它。3.内存分配..
分类:
编程语言 时间:
2015-08-26 00:01:28
阅读次数:
448
内存的分配方式: 1.静态存储区分配:全局变量,static变量等,在程序编译时已经分配了存储内存,在程序运行的整个期间一直存在 2.程序的堆栈上:程序的局部变量,包括程序的形参等,只存在于程序的运行期间 3在堆heap上分配的:动态内存分配,malloc或者new常见的内存错误:(1)内存分...
分类:
编程语言 时间:
2015-07-27 22:42:13
阅读次数:
153