JavaでC#で作成したDLLを使用するにはどうしたら良いでしょうか?
JavaにJNAのjarを追加して下記の様にDLLの呼び出しをしてみましたが、
「Exception in thread "main" java.lang.UnsatisfiedLinkError:
Error looking up function 'testMethod': 指定されたプロシージャが見つかりません。」
と例外が発生します。
普通のWindowsAPIの呼び出しは成功しました。
どこか不足している部分があるのでしょうか?
C#(DLL)のソース
using System; namespace TestDLL { public class Class1 { [System.Runtime.InteropServices.DllImport("kernel32.dll")] // この行を追加 private static extern bool AllocConsole(); public Class1() {} public static void testMethodAlt() { AllocConsole(); Console.WriteLine("Hello World!"); } } }
Javaのソース
import com.sun.jna.Library; import com.sun.jna.Native;; public class Test { static String PATH = "dllを置いているフォルダ/TestDLL.dll"; public static void main(String[] args) { Class1 lib = (Class1) Native.loadLibrary(PATH , Class1.class); lib.testMethod(); } interface Class1 extends Library{ void testMethod(); } }
最初にご回答いただいた方をベストアンサーとさせていただきました。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/06/26 07:50
2018/06/26 08:12