Dlfcn Clase

Definición

Proporciona acceso al enlazador dinámico.

public static class Dlfcn
type Dlfcn = class
Herencia
Dlfcn

Comentarios

Los métodos de esta clase se usan para acceder al enlazador dinámico de iOS/macOS. Puede usar los métodos de esta clase para obtener un identificador de las bibliotecas compartidas nativas y buscar símbolos públicos de ellos, así como buscar constantes definidas en una biblioteca dinámica.

Puede usar dlopen(String, Int32) para traer una biblioteca a la memoria y dlclose(IntPtr) cerrar la biblioteca y dlerror() diagnosticar problemas con llamadas a dlopen.

Hay varios métodos expuestos para leer y escribir los valores de los símbolos expuestos por el enlazador dinámico. Normalmente, se usan para acceder a variables globales desde una biblioteca.

Los métodos GetCGSize, GetDouble, GetFloat, GetIndirect, GetInt32, GetInt64, GetIntPtr, GetNSNumber, GetStringConstant se pueden usar para recuperar el valor de un símbolo global.

SetArray, SetCGSize, SetDouble, SetFloat, SetInt32, SetInt64, SetIntPtr, SetString se puede usar para establecer símbolos globales en un valor especificado.

Métodos

CachePointer(IntPtr, String, IntPtr*)

Busca el símbolo de constante especificado en la biblioteca especificada y lo almacena en el almacenamiento especificado (a menos que el almacenamiento ya contenga un valor, en cuyo caso se devuelve ese valor).

dlclose(IntPtr)

Cierra y descarga la biblioteca compartida nativa a la que hace referencia el identificador.

dlerror()

Devuelve un mensaje de diagnóstico para el último error cuando se usa cualquiera de los métodos de esta clase.

dlopen(String, Int32)

Carga la biblioteca dinámica especificada en memoria.

dlsym(Dlfcn+RTLD, String)

Devuelve la dirección del símbolo especificado en el proceso actual.

dlsym(IntPtr, String)

Devuelve la dirección del símbolo especificado en la biblioteca dinámica.

GetCGRect(IntPtr, String)

Obtiene el CGRect valor expuesto con el símbolo especificado de la biblioteca dinámica.

GetCGSize(IntPtr, String)

Obtiene el CGSize valor expuesto con el símbolo especificado de la biblioteca dinámica.

GetDouble(IntPtr, String)

Obtiene el valor doble expuesto con el símbolo especificado de la biblioteca dinámica.

GetFloat(IntPtr, String)

Obtiene el valor float expuesto con el símbolo especificado de la biblioteca dinámica.

GetIndirect(IntPtr, String)

Obtiene el puntero en memoria al símbolo especificado.

GetInt32(IntPtr, String)

Obtiene el valor int expuesto con el símbolo especificado de la biblioteca dinámica.

GetInt64(IntPtr, String)

Obtiene el valor largo expuesto con el símbolo especificado de la biblioteca dinámica.

GetIntPtr(IntPtr, String)

Obtiene el valor IntPtr expuesto con el símbolo especificado de la biblioteca dinámica.

GetNFloat(IntPtr, String)

Obtiene el valor de nfloat expuesto con el símbolo especificado de la biblioteca dinámica.

GetNInt(IntPtr, String)

Obtiene el valor nint expuesto con el símbolo especificado de la biblioteca dinámica.

GetNSNumber(IntPtr, String)

Obtiene un valor NSNumber expuesto con el símbolo especificado de la biblioteca dinámica.

GetNUInt(IntPtr, String)

Obtiene el valor nuint expuesto con el símbolo especificado de la biblioteca dinámica.

GetStringConstant(IntPtr, String)

Obtiene el valor NSString expuesto con el símbolo especificado de la biblioteca dinámica.

GetUInt32(IntPtr, String)

Obtiene el valor uint expuesto con el símbolo especificado de la biblioteca dinámica.

GetUInt64(IntPtr, String)

Obtiene el valor de ulong expuesto con el símbolo especificado de la biblioteca dinámica.

SetArray(IntPtr, String, NSArray)

Establece el símbolo especificado en el identificador de biblioteca en el valor de matriz especificado.

SetCGSize(IntPtr, String, CGSize)

Obtiene el CGSize valor expuesto con el símbolo especificado de la biblioteca dinámica.

SetDouble(IntPtr, String, Double)

Establece el símbolo especificado en el identificador de biblioteca en el valor doble especificado.

SetFloat(IntPtr, String, Single)

Establece el símbolo especificado en el identificador de biblioteca en el valor float especificado.

SetInt32(IntPtr, String, Int32)

Establece el símbolo especificado en el identificador de biblioteca en el valor int especificado.

SetInt64(IntPtr, String, Int64)

Establece el símbolo especificado en el identificador de biblioteca en el valor long especificado.

SetIntPtr(IntPtr, String, IntPtr)

Establece el símbolo especificado en el identificador de biblioteca en el valor de IntPtr especificado.

SetNFloat(IntPtr, String, nfloat)

Establece el símbolo especificado en el identificador de biblioteca en el valor de nfloat especificado.

SetNInt(IntPtr, String, nint)

Establece el símbolo especificado en el identificador de biblioteca en el valor nint especificado.

SetNUInt(IntPtr, String, nuint)

Establece el símbolo especificado en el identificador de biblioteca en el valor nuint especificado.

SetString(IntPtr, String, NSString)

Establece el símbolo especificado en el identificador de biblioteca en el valor de cadena especificado.

SetString(IntPtr, String, String)

Establece el símbolo especificado en el identificador de biblioteca en el valor de cadena especificado.

SetUInt32(IntPtr, String, UInt32)

Establece el símbolo especificado en el identificador de biblioteca en el valor uint especificado.

SetUInt64(IntPtr, String, Int64)
Obsoletos.

Establece el símbolo especificado en el identificador de biblioteca en el valor long especificado.

SetUInt64(IntPtr, String, UInt64)

Establece el símbolo especificado en el identificador de biblioteca en el valor de ulong especificado.

Se aplica a