8.1.1 Современный API времени выполнения GNU Objective-C ¶
API времени выполнения GNU Objective-C аналогичен API, предоставляемому «Objective-C 2.0» Apple/NeXT Objective-C runtime. API документирован в общедоступных заголовочных файлах GNU Objective-C runtime:
-
objc/objc.h: это основной заголовочный файл Objective-C, определяющий основные типы Objective-C, такие как
id,ClassиBOOL. Вам необходимо включить этот заголовок, чтобы использовать Objective-C практически для любых целей. -
objc/runtime.h: этот заголовок объявляет большинство функций публичного API времени выполнения, позволяющих вам инспектировать и манипулировать структурами данных времени выполнения Objective-C. Эти функции довольно стандартизированы для различных Objective-C runtimes и почти идентичны функциям Apple/NeXT Objective-C runtime. В нём не объявлены функции некоторых специализированных областей (создание и переадресация вызовов сообщений, потоки), которые находятся в других заголовочных файлах ниже. Вам необходимо включить objc/objc.h и objc/runtime.h, чтобы использовать любые функции, такие как
class_getName(), объявленные в objc/runtime.h. - objc/message.h: этот заголовок объявляет публичные функции, используемые для создания, разбора и переадресации вызовов сообщений. Поскольку передача сообщений осуществляется совершенно по-разному в разных средах выполнения, функции в этом заголовке специфичны для реализации GNU Objective-C runtime.
- objc/objc-exception.h: этот заголовок объявляет некоторые публичные функции, связанные с исключениями Objective-C. Например, функции в этом заголовке позволяют генерировать исключение Objective-C из простого кода C/C++.
-
objc/objc-sync.h: этот заголовок объявляет некоторые публичные функции, связанные с синтаксисом Objective-C
@synchronized(), позволяющие эмулировать блок Objective-C@synchronized()в простом коде C/C++. -
objc/thr.h: этот заголовок объявляет публичный уровень API времени выполнения для потоков, предоставляемый только GNU Objective-C runtime. Он объявляет функции, такие как
objc_mutex_lock(), которые предоставляют независимый от платформы набор функций для работы с потоками.
Заголовочные файлы содержат подробную документацию по каждой функции API времени выполнения GNU Objective-C.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-10.5.0/gcc/Modern-GNU-Objective-C-runtime-API.html