Compartilhar via


Dlfcn Classe

Definição

Fornece acesso ao vinculador dinâmico

public static class Dlfcn
type Dlfcn = class
Herança
Dlfcn

Comentários

Os métodos nessa classe são usados para acessar o vinculador dinâmico do iOS/macOS. Você pode usar os métodos nessa classe para obter um identificador para bibliotecas compartilhadas nativas e pesquisar símbolos públicos deles, bem como procurar constantes definidas em uma biblioteca dinâmica.

Você pode usar dlopen(String, Int32) para colocar uma biblioteca na memória e dlclose(IntPtr) fechar a biblioteca e dlerror() diagnosticar problemas com chamadas para dlopen.

Há vários métodos expostos para ler e gravar os valores dos símbolos expostos pelo vinculador dinâmico. Normalmente, elas são usadas para acessar variáveis globais de uma biblioteca.

Os métodos GetCGSize, GetDouble, GetFloat, GetIndirect, GetInt32, GetInt64, GetIntPtr, GetNSNumber, GetStringConstant podem ser usados para recuperar o valor de um símbolo global.

SetArray, SetCGSize, SetDouble, SetFloat, SetInt32, SetInt64, SetIntPtr, SetString podem ser usados para definir símbolos globais como um valor especificado.

Métodos

CachePointer(IntPtr, String, IntPtr*)

Pesquisa o símbolo de constante especificado na biblioteca especificada e o armazena no armazenamento especificado (a menos que o armazenamento já contenha um valor, nesse caso, esse valor é retornado)

dlclose(IntPtr)

Fecha e descarrega a biblioteca compartilhada nativa referenciada pelo identificador.

dlerror()

Retorna uma mensagem de diagnóstico para a última falha ao usar qualquer um dos métodos nessa classe.

dlopen(String, Int32)

Carrega a biblioteca dinâmica especificada na memória.

dlsym(Dlfcn+RTLD, String)

Retorna o endereço do símbolo especificado no processo atual.

dlsym(IntPtr, String)

Retorna o endereço do símbolo especificado na biblioteca dinâmica.

GetCGRect(IntPtr, String)

Obtém o CGRect valor exposto com o símbolo fornecido da biblioteca dinâmica.

GetCGSize(IntPtr, String)

Obtém o CGSize valor exposto com o símbolo fornecido da biblioteca dinâmica.

GetDouble(IntPtr, String)

Obtém o valor duplo exposto com o símbolo fornecido da biblioteca dinâmica.

GetFloat(IntPtr, String)

Obtém o valor float exposto com o símbolo fornecido da biblioteca dinâmica.

GetIndirect(IntPtr, String)

Obtém o ponteiro na memória para o símbolo especificado.

GetInt32(IntPtr, String)

Obtém o valor int exposto com o símbolo fornecido da biblioteca dinâmica.

GetInt64(IntPtr, String)

Obtém o valor longo exposto com o símbolo fornecido da biblioteca dinâmica.

GetIntPtr(IntPtr, String)

Obtém o valor IntPtr exposto com o símbolo fornecido da biblioteca dinâmica.

GetNFloat(IntPtr, String)

Obtém o valor nfloat exposto com o símbolo fornecido da biblioteca dinâmica.

GetNInt(IntPtr, String)

Obtém o valor nint exposto com o símbolo fornecido da biblioteca dinâmica.

GetNSNumber(IntPtr, String)

Obtém um valor NSNumber exposto com o símbolo fornecido da biblioteca dinâmica.

GetNUInt(IntPtr, String)

Obtém o valor nuint exposto com o símbolo fornecido da biblioteca dinâmica.

GetStringConstant(IntPtr, String)

Obtém o valor NSString exposto com o símbolo fornecido da biblioteca dinâmica.

GetUInt32(IntPtr, String)

Obtém o valor uint exposto com o símbolo fornecido da biblioteca dinâmica.

GetUInt64(IntPtr, String)

Obtém o valor ulong exposto com o símbolo fornecido da biblioteca dinâmica.

SetArray(IntPtr, String, NSArray)

Define o símbolo especificado no identificador de biblioteca como o valor da matriz especificado.

SetCGSize(IntPtr, String, CGSize)

Obtém o CGSize valor exposto com o símbolo fornecido da biblioteca dinâmica.

SetDouble(IntPtr, String, Double)

Define o símbolo especificado no identificador de biblioteca como o valor duplo especificado.

SetFloat(IntPtr, String, Single)

Define o símbolo especificado no identificador da biblioteca como o valor float especificado.

SetInt32(IntPtr, String, Int32)

Define o símbolo especificado no identificador da biblioteca como o valor int especificado.

SetInt64(IntPtr, String, Int64)

Define o símbolo especificado no identificador da biblioteca como o valor longo especificado.

SetIntPtr(IntPtr, String, IntPtr)

Define o símbolo especificado no identificador de biblioteca como o valor intPtr especificado.

SetNFloat(IntPtr, String, nfloat)

Define o símbolo especificado no identificador de biblioteca como o valor nfloat especificado.

SetNInt(IntPtr, String, nint)

Define o símbolo especificado no identificador de biblioteca como o valor nint especificado.

SetNUInt(IntPtr, String, nuint)

Define o símbolo especificado no identificador de biblioteca como o valor nuint especificado.

SetString(IntPtr, String, NSString)

Define o símbolo especificado no identificador de biblioteca como o valor de cadeia de caracteres especificado.

SetString(IntPtr, String, String)

Define o símbolo especificado no identificador de biblioteca como o valor de cadeia de caracteres especificado.

SetUInt32(IntPtr, String, UInt32)

Define o símbolo especificado no identificador da biblioteca como o valor uint especificado.

SetUInt64(IntPtr, String, Int64)
Obsoleto.

Define o símbolo especificado no identificador da biblioteca como o valor longo especificado.

SetUInt64(IntPtr, String, UInt64)

Define o símbolo especificado no identificador de biblioteca como o valor ulong especificado.

Aplica-se a