Difference between revisions of "CMem"

From Free Pascal wiki
Jump to navigationJump to search
(mention heaptrc, remove categories already included via Template: CMem, remove “back to <some arbitrary page>” link as there are multiple pages linking here)
(Clarify what "first" means with multiple units claiming the position)
Line 4: Line 4:
  
 
The unit should be the first unit in the uses clause, otherwise memory can already be allocated by initialization routines in units that are initialized before the C memory manager is installed.
 
The unit should be the first unit in the uses clause, otherwise memory can already be allocated by initialization routines in units that are initialized before the C memory manager is installed.
 +
 +
In cases where several units units like cthreads, cmem, cwstrings are recommended to be placed first, due to how the units work a sensible order is cmem, cthreads and then cwstrings.
  
 
There is a small example program '''testcmem''', which demonstrates the use of the cmem unit.
 
There is a small example program '''testcmem''', which demonstrates the use of the cmem unit.
  
 
CMem should not be used if [[heaptrc]] is used.
 
CMem should not be used if [[heaptrc]] is used.

Revision as of 07:41, 11 May 2021

Deutsch (de) English (en)

If you include the cmem unit in your uses clause of your program, it will replace the native Free Pascal memory manager with the C library memory manager. All memory management is then done by the C memory manager.

The unit should be the first unit in the uses clause, otherwise memory can already be allocated by initialization routines in units that are initialized before the C memory manager is installed.

In cases where several units units like cthreads, cmem, cwstrings are recommended to be placed first, due to how the units work a sensible order is cmem, cthreads and then cwstrings.

There is a small example program testcmem, which demonstrates the use of the cmem unit.

CMem should not be used if heaptrc is used.