8.1.1 Современный API GNU Objective-C Runtime ¶
API GNU Objective-C Runtime похож на 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 runtime, позволяющих инспектировать и манипулировать структурами данных Objective-C runtime. Эти функции достаточно стандартизированы для различных Objective-C runtimes и практически идентичны функциям Apple/NeXT Objective-C runtime. В нем не объявлены функции некоторых специализированных областей (создание и переадресация вызовов сообщений, потоки), которые находятся в других заголовочных файлах ниже. Для использования каких-либо функций, таких как
class_getName(), объявленных в objc/runtime.h, необходимо включить objc/objc.h и objc/runtime.h. - objc/message.h: этот заголовок объявляет публичные функции, используемые для создания, разрушения и переадресации вызовов сообщений. Поскольку отправка сообщений реализуется по-разному в разных runtimes, функции в этом заголовке специфичны для реализации 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-слой многопоточности runtime, который предоставляется только в GNU Objective-C runtime. Он объявляет функции, такие как
objc_mutex_lock(), которые предоставляют независимый от платформы набор функций многопоточности.
Заголовочные файлы содержат подробную документацию для каждой функции API GNU Objective-C runtime.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-11.4.0/gcc/Modern-GNU-Objective-C-runtime-API.html