共用方式為


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)

將程式庫控制碼中的指定符號設定為指定的 long 值。

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)
已淘汰.

將程式庫控制碼中的指定符號設定為指定的 long 值。

SetUInt64(IntPtr, String, UInt64)

將程式庫控制碼中的指定符號設定為指定的 ulong 值。

適用於