Normally, this macro is not required in most programs. It is performed automatically when the %include "lazy.inc"
is processed. There can be only one LAZY_INIT
per program. Unless postponed, it is done by the library for you.
This will initialize the macro groups were that postponed by the %define NO_INITIALIZE
directive. This permits inclusion of the library without placing any code at the very beginning of the program. This can be very handy when creating device drivers or terminate and stay resident programs.
Caution must be taken to not to use any portions of the library that require initialization before the LAZY_INIT
macro call. Also if parts of the program are freed and remaining resident portion of the program uses ANY parts of the library, strategic use of the LAZY_CODE macro will be needed to insure those portions remain resident as well.
Note:
See also Conditional defines