我試圖在c#中使用外部.dll文件編碼,在我的Java應用程序中,我知道它包含的接口與我們可以使用的函數的dll,我可以將DLL加載到我的Java應用程序,但我如何使用它內的接口?我不知道JNI如何在這種情況下提供幫助。請幫助。在java中使用C#dll
回答
我懷疑你需要使用Java/COM橋如JACOB,或Java Native Access(你可能必須寫一個橋樑,因爲JNA是本地只訪問)。
請參閱this SO answer瞭解更多詳情。
我們可以使用JNA java 7不是6吧? – ama 2012-07-25 11:13:29
您可以使用由Robert Giesecke編寫的項目模板從您的C#DLL創建本地導出。這使您可以在C#DLL中創建原生C風格API導出,並從Java或幾乎任何其他語言調用它們。向下滾動到Unmanaged Export Library文件的頁面底部。
或者,您可以使用ComVisible
創建COM類並從Java訪問它。
我應該把使用ComVisible的類放在dll文件中,然後在java應用程序中使用它嗎?如果是這樣,我應該如何導入並調用它? – ama 2012-07-25 10:50:30
是的。這裏是[示例](http://msdn.microsoft.com/en-us/library/c3fd4a20.aspx)。您需要將該DLL標記爲COM Visible。請閱讀[此問題](http://stackoverflow.com/questions/7092553/turn-a-simple-c-sharp-dll-into-a-com-interop-component)瞭解更多信息。 Brian Agnew的回答涵蓋了在Java中使用COM。 – Polynomial 2012-07-25 10:53:20
- 1. 在C#中使用C++ dll#
- 2. DLL在C++中使用另一個DLL
- 3. 在swift中使用C++ DLL
- 4. 在Qt中使用Dll C++
- 5. 在C++中使用DLL時?
- 6. 在C#中使用vC++ dll#
- 7. 在C#中使用DLL#
- 8. 在C++中使用Delphi DLL
- 9. 在C#中使用DLL庫
- 10. 在C中使用COM dll#
- 11. 在C#彙編中引用Java DLL?
- 12. 在C DLL,在C#中使用的PInvoke
- 13. 使用在C#中使用COM的DLL
- 14. 在C++項目中使用c DLL
- 15. 在Borland C++中使用C#dll
- 16. 在C#中使用C++ dll(WPF)
- 17. 在C++ Builder中使用C#.NET DLL?
- 18. 在java中使用C lib(dll),並使用特定的c調用約定cdecl
- 19. 在Java中使用C接口的DLL(適用於Android)
- 20. 使用dll中的函數,在java中
- 21. 在C中調用C++ DLL
- 22. 使用 「C」 DLL
- 23. C DLL使用
- 24. 在非託管C++ dll中使用託管c#dll
- 25. 如何在C#2.0 dll中使用C#4.0 Dll?
- 26. 從java調用C++ dll
- 27. 在C#中使用平臺調用dll
- 28. 在C++應用程序中使用DLL
- 29. 在Java項目中使用C#編寫的DLL
- 30. 在java中使用jna加載delphi dll
JNI僅適用於本機庫,不適用於託管代碼。 – 2012-07-25 10:30:16