8.2. +load: Executing Code before main
8.2 +load: Executing Code before main
This section is specific for the GNU Objective-C runtime. If you are using a different runtime, you can skip it.
The GNU Objective-C runtime provides a way that allows you to execute code before the execution of the program enters the main
function. The code is executed on a per-class and a per-category basis, through a special class method +load
.
This facility is very useful if you want to initialize global variables which can be accessed by the program directly, without sending a message to the class first. The usual way to initialize global variables, in the +initialize
method, might not be useful because +initialize
is only called when the first message is sent to a class object, which in some cases could be too late.
Suppose for example you have a FileStream
class that declares Stdin
,