摘要:链表作为一种基础的数据结构,用途甚广,估计大家都用过。链表有几种,常用的是:单链表及双链表,还有N链表,本文着重单/双链表,至于N链表。。。不经常用,没法说出一二三来。在D里面,可能会用Contnrs.pas.TStack/TQueue相关类,进行操作,不过里面的实现,并非使用的是链表实现,只是用T...
阅读全文
10 2014 档案
摘要:此文是delphi.指针.应用姊妹篇,想细化一下PChar应用,所以有了此文。注意: 1:此文讲的是PChar与字符串相关操作,其它方法暂不多讲。 2:由于D分开Ansi/Unicode的两种完全不同的编绎器,即: Ansi.Char=AnsiChar; Unicode.Char=WideChar ...
阅读全文
摘要:注:初稿...有点乱,可能增删改... 因为指针应用,感觉不好写,请大家指出错误,谢谢。注意: 本文着重点讲的是指针的各类型的应用或使用,而不是说这种方法不应该+不安全+危险+不提倡使用。其它:本文说的是x86环境,x64会有变化,且,只是讲述一些方法,细节部分,如果涉及到不同平台问题,勿太深究...
阅读全文
摘要:我估摸着内存分配+释放是个基础函数,有些人可能没注意此类函数或细究,但我觉得还是弄明白的好。介绍下面内存函数前,先说一下MM的一些过程,如不关心可忽略: 1 TMemoryManager = record 2 GetMem: function(Size: Integer): Pointer; 3...
阅读全文
摘要:前几日,调试一BUG,过程先不说,最后调试到MM,即Debug dcu,然后进入到GetMem.inc中的Get/FreeMem函数处后,出现AV。 然后一通找。。。郁闷了N天,后来发现将MM切换到QMM后,一切正常,然后再切回原MM,BUG出现。。。 按经验,此类问题一般由于线程未有锁保护引起,...
阅读全文