Поделиться через


Dlfcn Класс

Определение

Предоставляет доступ к динамическому компоновщику

public static class Dlfcn
type Dlfcn = class
Наследование
Dlfcn

Комментарии

Методы в этом классе используются для доступа к динамическому компоновщику iOS/macOS. Методы в этом классе можно использовать для получения дескриптора для собственных общих библиотек и поиска открытых символов из них, а также для поиска констант, определенных в динамической библиотеке.

Вы можете использовать для dlopen(String, Int32) добавления библиотеки в память, dlclose(IntPtr) закрытия библиотеки и dlerror() диагностики проблем с вызовами dlopen.

Существуют различные методы для чтения и записи значений символов, предоставляемых динамическим компоновщиком. Обычно они используются для доступа к глобальным переменным из библиотеки.

Для получения значения глобального символа можно использовать методы GetCGSize, GetDouble, GetFloat, GetIndirect, GetInt32, GetInt64, GetIntPtr, GetNSNumber, GetStringConstant.

SetArray, SetCGSize, SetDouble, SetFloat, SetInt32, SetInt64, SetIntPtr, SetString можно использовать для задания глобальных символов указанного значения.

Методы

CachePointer(IntPtr, String, IntPtr*)

Ищет указанный символ константы в указанной библиотеке и сохраняет его в указанном хранилище (если хранилище уже не содержит значение, в этом случае это значение возвращается).

dlclose(IntPtr)

Закрывает и выгружает собственную общую библиотеку, на которую ссылается дескриптор.

dlerror()

Возвращает диагностическое сообщение о последнем сбое при использовании любого из методов в этом классе.

dlopen(String, Int32)

Загружает указанную динамическую библиотеку в память.

dlsym(Dlfcn+RTLD, String)

Возвращает адрес указанного символа в текущем процессе.

dlsym(IntPtr, String)

Возвращает адрес указанного символа в динамической библиотеке.

GetCGRect(IntPtr, String)

Возвращает значение, предоставленное CGRect с заданным символом из динамической библиотеки.

GetCGSize(IntPtr, String)

Возвращает значение, предоставленное CGSize с заданным символом из динамической библиотеки.

GetDouble(IntPtr, String)

Возвращает двойное значение, предоставленное с заданным символом из динамической библиотеки.

GetFloat(IntPtr, String)

Возвращает значение с плавающей точкой с заданным символом из динамической библиотеки.

GetIndirect(IntPtr, String)

Возвращает указатель в памяти на указанный символ.

GetInt32(IntPtr, String)

Возвращает значение int, предоставленное с заданным символом из динамической библиотеки.

GetInt64(IntPtr, String)

Возвращает значение long, предоставленное с заданным символом из динамической библиотеки.

GetIntPtr(IntPtr, String)

Возвращает значение IntPtr, предоставленное с заданным символом из динамической библиотеки.

GetNFloat(IntPtr, String)

Возвращает значение nfloat, предоставленное с заданным символом из динамической библиотеки.

GetNInt(IntPtr, String)

Возвращает значение nint, предоставленное с заданным символом из динамической библиотеки.

GetNSNumber(IntPtr, String)

Возвращает значение NSNumber, предоставленное с заданным символом из динамической библиотеки.

GetNUInt(IntPtr, String)

Возвращает значение nuint, предоставленное с заданным символом из динамической библиотеки.

GetStringConstant(IntPtr, String)

Возвращает значение NSString, предоставленное с заданным символом из динамической библиотеки.

GetUInt32(IntPtr, String)

Возвращает значение uint, предоставленное с заданным символом из динамической библиотеки.

GetUInt64(IntPtr, String)

Возвращает значение ulong, предоставленное с заданным символом из динамической библиотеки.

SetArray(IntPtr, String, NSArray)

Задает для указанного символа в дескрипторе библиотеки указанное значение массива.

SetCGSize(IntPtr, String, CGSize)

Возвращает значение, предоставленное CGSize с заданным символом из динамической библиотеки.

SetDouble(IntPtr, String, Double)

Задает для указанного символа в дескрипторе библиотеки указанное значение double.

SetFloat(IntPtr, String, Single)

Задает указанному символу в дескрипторе библиотеки указанное значение с плавающей точкой.

SetInt32(IntPtr, String, Int32)

Задает для указанного символа в дескрипторе библиотеки указанное значение int.

SetInt64(IntPtr, String, Int64)

Задает указанному символу в дескрипторе библиотеки указанное длинное значение.

SetIntPtr(IntPtr, String, IntPtr)

Задает для указанного символа в дескрипторе библиотеки указанное значение IntPtr.

SetNFloat(IntPtr, String, nfloat)

Задает для указанного символа в дескрипторе библиотеки указанное значение nfloat.

SetNInt(IntPtr, String, nint)

Задает для указанного символа в дескрипторе библиотеки указанное значение nint.

SetNUInt(IntPtr, String, nuint)

Задает указанному символу в дескрипторе библиотеки указанное значение nuint.

SetString(IntPtr, String, NSString)

Задает заданное строковое значение для указанного символа в дескрипторове библиотеки.

SetString(IntPtr, String, String)

Задает заданное строковое значение для указанного символа в дескрипторове библиотеки.

SetUInt32(IntPtr, String, UInt32)

Задает для указанного символа в дескрипторе библиотеки указанное значение uint.

SetUInt64(IntPtr, String, Int64)
Устаревшие..

Задает указанному символу в дескрипторе библиотеки указанное длинное значение.

SetUInt64(IntPtr, String, UInt64)

Задает для указанного символа в дескрипторе библиотеки указанное значение ulong.

Применяется к