→ GNUGCC:請問你的 VB.Net 的 x.dll 檔有用到 .Net 物件嗎? 07/28 01:00
→ GNUGCC:如果有的話你的 Visual C++ 必需設定為使用 CLR 功能才能使 07/28 01:04
→ GNUGCC:用 .Net 物件喔...因為就算找到函式位址也無法呼叫. 07/28 01:07
推 damody:去查 com 物件 以前有試過 vb call過來 c++ call 回去 07/28 07:57
→ GNUGCC:簡單說就是包含 .Net 程式無法跟純 CPU 指令碼程式一起使用 07/28 18:39
→ clv:那也是用loadlibrary(x.dll)再getprocaddress(a::b)嗎? 07/28 22:10
→ clv:因為我getprocaddress(a::b) 但根本捉不到資料 07/28 22:10
推 Baternest:CLR or COM 樓上都有人說了 07/28 23:25
→ GNUGCC:LoadLibrary() 跟 GetProcAddress() 這 2 個函式是針對原生 07/28 23:57
→ GNUGCC:DLL 檔使用,所謂的原生就是指裡面包含的是 x86 指令集機器 07/28 23:59
→ GNUGCC:碼,它不需要有 .Net 虛擬機器就能交給 CPU 執行,但相對的 07/29 00:00
→ GNUGCC:使用 .Net 產生出來的任何執行檔包括 .DLL 檔它裡面並沒有 07/29 00:04
→ GNUGCC:機器指令,它跟 Java 一樣是屬於中介語言檔,它需要有虛擬機 07/29 00:05
→ GNUGCC:器轉換成真正的機器碼才能執行,當你執行原生 C++ 程式時系 07/29 00:08
→ GNUGCC:統並不會交給虛擬機器做解碼而是由 CPU 直接執行,因為 .Net 07/29 00:13
→ GNUGCC:包含太多的資料型態定義與函式庫需要做動態連結,因為直接跳 07/29 00:17
→ GNUGCC:過虛擬機器,作業系統就會找不到原生 C++ 程式要使用的 .Net 07/29 00:20
→ GNUGCC:資料型態與物件了. 07/29 00:21
推 Thelink:用COM來溝通。將.NET類別設定成ComVisible,並使用regsvr3 07/30 19:03
→ Thelink:2註冊。 Native c++ 使用COM的方式來呼叫就可以,只不過CO 07/30 19:03
→ Thelink:M在Native C++比較複雜。 07/30 19:03