最初に、不適切な質問をしている場合はご容赦ください。
JAVAの C ライブラリ ( iniparser ) を使用しようとしています。JNAを使って学ぶだけです。JNA の使用例を紹介しているブログをいくつか見ました。しかし、JNA でユーザー定義ライブラリを使用する方法を示す例は見つかりませんでした。
より正確には、初めてC
puts()
関数を使用して JNA をテストするコードを作成しました。私のコードは以下のようなものです。
import com.sun.jna.Library;
import com.sun.jna.Native;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author Taufique
*/
interface CLibrary extends Library{
public int puts(String s);
}
public class Main {
public static void main(String args[]){
String libName = "c";
if (System.getProperty("os.name").contains("Windows")) {
libName = "msvcrt";
System.out.println("Windows Detected");
}
else{
System.out.println("Windows not found");
}
CLibrary INSTANCE = (CLibrary) Native.loadLibrary(libName, CLibrary.class);
INSTANCE.puts("This String is through C puts() function");
}
}
私が理解できなかったのはlibraryName
、ユーザー定義のライブラリを使用したくない場合、最後の行から 2 番目のパラメーターがどうなるかということです。何か助けを期待できますか?