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