On 23 Sep 2007, at 05:18, Marc Santhoff wrote:

My question:
In which cases will it happen that the memory of a dynamic array is
fragmented into multiple non-contiguous blocks?

Even if the current implementation allocates dynamic arrays always in one block (I think it does, but I'm not certain), there is probably no guarantee it will stay that way forever (and counting on that may consequently break your program in the future).

Counting on implementation details of opaque entities (such as set formats, anything regarding reference counted types such as when references are added or removed and when how many references will exist, rtti format, code generation details such as evaluation order of parameters or operands, memory manager allocation behaviour, ...) is almost 100% guaranteed to break your code at one point or another in time (and often at multiple points in time).


Jonas
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to