擴充ExecuteInDefaultAppDomain() 以外的功能,用於從C 呼叫C# 程式碼
而ICLRRuntimeHost::SDefaultHost::種呼叫C# 的簡單方法來自 C的函數,其局限性可能會阻礙與更多交互的能力複雜的功能。讓我們來探索替代方法:
C /CLI 作為中間 DLL:
此方法使用 C /CLI 程式集作為 C 和 C# 程式碼之間的中介。 C /CLI 允許託管 (C#) 和非託管 (C ) 程式碼之間的無縫集成,從而能夠呼叫任意 C# 方法。
反向 P/Invoke:
此技術涉及建立一個充當 C# 函數和 C 呼叫者之間「橋樑」的 C 方法。透過顛倒呼叫者和被呼叫者的角色,C 程式碼本質上可以「欺騙」C# 程式集來執行其函數。
COM:
組件物件模型(COM )是一種廣泛使用的互通性框架,它支援以不同語言編寫的應用程式和組件之間的通信。 C 和 C# 可以透過 COM 無縫交互,從而可以呼叫 C# 函數。
其他方法:
方法的選擇取決於需要呼叫的 C# 函數的特定要求和複雜性。每種方法都有自己的優點和權衡。
以上是如何從「ExecuteInDefaultAppDomain()」以外的 C 語言呼叫複雜的 C# 函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!