JavaからC++関数を呼び出す方法!JNIを使ったネイティブメソッドの手順を解説
JavaからC++で実装された関数(ネイティブメソッド)を呼び出すには、JNI(Java Native Interface)という仕組みを利用します。ここでは、ネイティブメソッドを使用するための基本的な手順を順番に解説します。
ネイティブメソッドを使用する手順
- C++プログラム用のヘッダーファイル(.hファイル)を作成する
JDKに付属のjavac -hオプションなどを使い、Javaクラスから対応するヘッダーファイルを生成します。 - C++ファイル(CPPファイル)を作成する
ヘッダーファイルで宣言された関数の実際の処理を、C++のソースファイルに実装します。 - DLL(ダイナミックリンクライブラリ)を作成する
実装したC++コードをコンパイルして、DLLとしてビルドします。 - Javaコードでネイティブメソッドを宣言・ロード・呼び出す
Java側ではメソッドを「native」キーワード付きで宣言し、System.loadLibrary()メソッドでDLLをロードしたうえで、そのメソッドを呼び出します。
Java側のサンプルコード
public class NativeDemo {
// ネイティブメソッドの宣言
public native void sayHello();
static {
// DLLのロード
System.loadLibrary("nativelib");
}
public static void main(String[] args) {
new NativeDemo().sayHello();
}
}
このように、JNIを活用することで、既存のC++ライブラリやパフォーマンスが求められる処理をJavaアプリケーションから直接利用できるようになります。OSごとにDLL(Windows)や共有ライブラリ(Linuxでは.soファイル)の形式が異なる点には注意しましょう。
-
JavaでJSONファイルを作成する方法をわかりやすく解説
JSON(JavaScript Object Notation)は、人間が読みやすい形式でデータを交換するために設計された、軽量なテキストベースのオープン標準フォーマットです。JSONの記法は、C、C++、Java、Python、Perlなど、多くのプログラミング言語に精通したプログラマーにとって馴染み深いものとなっています。 JSONドキュメントのサンプル 以下は、書籍情報を格納した典型的なJSONドキュメントの例です。 { book: [ { id: 01, language: Java, ed
-
ExcelからCSVファイルを作成する6つの簡単な方法
CSV(Comma Separated Values/カンマ区切り値)は、さまざまなデータ分析ソフトウェアで広く利用されている汎用的なファイル形式です。数値やテキストがプレーンテキストでそのまま保存されるため、編集や整理が非常に容易で、そのシンプルさから現在では最も人気のあるデータ交換形式の一つとなっています。Excelで管理しているデータを、他のツールで使えるようにCSV形式で出力したい場面は少なくありません。この記事では、ExcelからCSVファイルを作成する6つの簡単な方法を、画像付きの手順でわかりやすくご紹介します。 ExcelからCSVファイルを作成する6つの方法 ここでは、ある