Difference between revisions of "CMem"
(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.