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)

从动态库中获取使用给定符号公开的长值。

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)

将库句柄中的指定符号设置为指定的双精度值。

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 值。

适用于