gcc: Modern GNU Objective-C runtime API
1
1 8.1.1 Modern GNU Objective-C Runtime API
1 ----------------------------------------
1
1 The GNU Objective-C runtime provides an API which is similar to the one
1 provided by the "Objective-C 2.0" Apple/NeXT Objective-C runtime. The
1 API is documented in the public header files of the GNU Objective-C
1 runtime:
1
1 * 'objc/objc.h': this is the basic Objective-C header file, defining
1 the basic Objective-C types such as 'id', 'Class' and 'BOOL'. You
1 have to include this header to do almost anything with Objective-C.
1
1 * 'objc/runtime.h': this header declares most of the public runtime
1 API functions allowing you to inspect and manipulate the
1 Objective-C runtime data structures. These functions are fairly
1 standardized across Objective-C runtimes and are almost identical
1 to the Apple/NeXT Objective-C runtime ones. It does not declare
1 functions in some specialized areas (constructing and forwarding
1 message invocations, threading) which are in the other headers
1 below. You have to include 'objc/objc.h' and 'objc/runtime.h' to
1 use any of the functions, such as 'class_getName()', declared in
1 'objc/runtime.h'.
1
1 * 'objc/message.h': this header declares public functions used to
1 construct, deconstruct and forward message invocations. Because
1 messaging is done in quite a different way on different runtimes,
1 functions in this header are specific to the GNU Objective-C
1 runtime implementation.
1
1 * 'objc/objc-exception.h': this header declares some public functions
1 related to Objective-C exceptions. For example functions in this
1 header allow you to throw an Objective-C exception from plain C/C++
1 code.
1
1 * 'objc/objc-sync.h': this header declares some public functions
1 related to the Objective-C '@synchronized()' syntax, allowing you
1 to emulate an Objective-C '@synchronized()' block in plain C/C++
1 code.
1
1 * 'objc/thr.h': this header declares a public runtime API threading
1 layer that is only provided by the GNU Objective-C runtime. It
1 declares functions such as 'objc_mutex_lock()', which provide a
1 platform-independent set of threading functions.
1
1 The header files contain detailed documentation for each function in
1 the GNU Objective-C runtime API.
1