9.1.1 Современный API среды выполнения GNU Objective-C
Среда выполнения GNU Objective-C предоставляет API, похожий на API среды выполнения Objective-C от Apple/NeXT, предоставляемый «Objective-C 2.0». API документирован в общедоступных заголовочных файлах среды выполнения GNU Objective-C:
-
objc/objc.h: это основной заголовочный файл Objective-C, определяющий базовые типы Objective-C, такие как
id,ClassиBOOL. Этот заголовочный файл необходимо подключить, чтобы выполнять почти любые действия с Objective-C. -
objc/runtime.h: этот заголовочный файл объявляет большинство общедоступных функций API среды выполнения, позволяющих изучать и изменять структуры данных среды выполнения Objective-C. Эти функции в значительной степени стандартизированы в разных средах выполнения Objective-C и почти идентичны функциям среды выполнения Objective-C от Apple/NeXT. В нём не объявлены функции для некоторых специализированных областей (создания и пересылки вызовов сообщений, многопоточности); они находятся в других заголовочных файлах, перечисленных ниже. Чтобы использовать любую из функций, например
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: этот заголовочный файл объявляет некоторые общедоступные функции, связанные с синтаксисом
@synchronized()в Objective-C, позволяющие эмулировать блок@synchronized()в обычном коде на C/C++. -
objc/thr.h: этот заголовочный файл объявляет уровень многопоточности общедоступного API среды выполнения, который предоставляется только средой выполнения GNU Objective-C. В нём объявлены такие функции, как
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-15.3.0/gcc/Modern-GNU-Objective_002dC-runtime-API.html