JNIのC言語/C++側のコーディング C言語とC++の違い コーディング例 JNI関数の概要 プリミティブ型・参照型(JavaオブジェクトのC/C++での扱い) String型 [/2006-11-09] 配列型 クラスの取得・インスタンス生成 [/2008-02-02] オブジェクトのメソッド呼び出し [/2008-02-07] オブジェクトのフィールド操作 ローカル参照の終了 [2006-11-09] 例外処理 [/2007-10-13] jni.hの中でC言語/C++で使える構造体 (クラス)が定義されているが、 コンパイラーがC言語の場合とC++の場合では定義のされ方が異なり、使い方も少し異なる。 JniJikken.c: JniJikken.cpp: #include "JniJikken.h" JNIEXPORT jbyteArray JNICALL Java_JniJikk
JavaからC/C++の呼び出し Javaソースの作成 まずは Java から C/C++ コードの呼び出しについて。例としてネイティブメソッドを持つ org.koiroha.sample.JniSample を作成してみます。引数や返値は値の受け渡し方法を示すためで特に意味はありません。 package org.koiroha.sample; /** JNI サンプルクラス */ public class JniSample { /** ネイティブライブラリをロード */ static { System.loadLibrary("sample"); } /** サンプルのネイティブメソッド * @param msg メッセージ * @return 返値 */ public native String greeting(String msg); /** サンプルの実行 * @param a
JNI (Java Native Interface)は、Java仮想マシンとネイティブアプリケーションを組み合わせるための標準プログラミングインタフェースである。 Javaから呼び出されているネイティブライブラリをデバッガで動作させる Javaから呼び出されているネイティブライブラリをデバッガで動作させるには、環境変数DEBUG_PROGにデバッガを定義します。そしてJavaを実行させるとデバッガが起動されますので、stop dlopenコマンドでデバッグするライブラリのパスを指定します。runコマンドで実行すると、libxxx.soが呼び出されると停止するので、ブレークポイントを設定して実行を継続します。 $ setenv DEBUG_PROG dbx $ java (dbx) stop dlopenn ライブラリのパス (dbx) run Test.Test_0 (dbx) file
For over 30 years, Java has evolved as a secure, enterprise-grade platform powering innovation. Oracle’s stewardship continues to advance Java as the language of choice to address modern application development and the future of AI-powered business. Watch the JavaOne 2026 keynotes and select sessions
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く