問題タブ [java-native-interface]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
4133 参照

java - java java-> jni.dll->app.dll->app.dllからdllをデバッグします

Javaアプリケーションによってロードされていないdllをデバッグするにはどうすればよいですか。

シナリオは次のとおりです。私のJavaアプリは、別のdllを使用しているjni.dllをロードしており、そのdllは別のdllを使用しています。

java <-> jni.dll <-> dll <-> dll

すべてのモジュールのソースコードがあります

jni.dllをデバッグするときにVisualStudioExpressを使用していますが、他のdllをデバッグできるようにするにはどうすればよいですか?

0 投票する
2 に答える
2104 参照

java - inpout32.dllを使用したJavaI/ O

WindowsXPのパラレルポートに配線されているいくつかのLEDを制御しようとしています。最も簡単な解決策は、Logix4u.netInpout32.dllです。さまざまな言語(C ++、Visual Basic、C#)で多くのソースコードサンプルを見つけましたが、Javaを使用したものはありません。

JavaからDLL関数を呼び出すためのチュートリアルを知っていますか?(私がこれまでにGoogleで見つけたものは、それほど進んでいません)。

環境:Java 1.6.0、Windows XP

0 投票する
4 に答える
8772 参照

java - JNAがEXCEPTION_ACCESS_VIOLATIONを引き起こしていますか?

私のJavaUIが予期せず終了し、hs_err_pidファイルをダンプしました。このファイルには、「クラッシュはネイティブコードのJava仮想マシンの外部で発生しました」と記載されています。JNAは私たちが使用する唯一のネイティブコードです。これを引き起こす可能性のあるJNAバージョンの既知の問題やバグを知っている人はいますか?以下のエラーファイルの内容の一部を含めました。

0 投票する
6 に答える
45801 参照

java - Java Swing では、ウィンドウへの Win32 ウィンドウ ハンドル (hwnd) 参照をどのように取得しますか?

Java 1.4 では ((SunToolkit) Toolkit.getDefaultToolkit()).getNativeWindowHandleFromComponent() を使用できましたが、これは削除されました。

これを行うには JNI を使用する必要があるようです。これを行うための JNI コードとサンプル Java コードはありますか?

これは、Jawin ライブラリを介して実行できる Win32 GetWindowLong および SetWindowLong API 呼び出しを呼び出すために必要です。

JDialog または JFrame への参照を渡してウィンドウ ハンドルを取得できるように、非常に正確なものが必要です。

JNI を使用した Swing 透過性が関連している可能性があります。

0 投票する
5 に答える
2216 参照

java - JNIの有用性

私は数年間Java開発者であり、JNIを使​​用して非常に便利で強力なことができると聞いています。使用する必要がなかったのか、それとも自分にそれほど関係がないのかはわかりません。しかし、私はそれに触れる必要はまったくありませんでした。

Javaのこの側面の有用性は何でしょうか。例は素晴らしいでしょう。

0 投票する
3 に答える
8979 参照

netbeans - JNI を使用した NetBeans ライブラリ

NetBeans で JNI を利用するライブラリを定義できますか?

ライブラリ定義では、Jar または Folder のみが許可されているようです。

アプリのビルド時に DLL が jar ファイルに従うようにするにはどうすればよいですか?

0 投票する
1 に答える
496 参照

java - デフォルトでローカル Java ライブラリをインストールする場所は?

JNI バインディングを C++ ライブラリと統合しています。

ライブラリは通常の規則に従います。インストール ルートは/usr/localデフォルトであり、--prefix引数 toで変更できます./configure.aまたは.soファイルが入ります${prefix}/lib。等

JNI バインディングは、libfoojni.so(ネイティブ部分) とlibfoo.jar(Java 部分) の 2 つの新しいライブラリを生成します。

このスキームの下で、これらのファイルを配置する従来の場所は何ですか (例: ${prefix}/java)?

ユーザーが別個の Java ルート ディレクトリ (例: /usr/share/java) を指定できるようにすることは望ましいですか?

libfoojni.soJava 固有のサブディレクトリに移動する${prefix}/lib必要がありますか?

0 投票する
3 に答える
3374 参照

java - Valgrindの下のSunVMでJNIアプリケーションを実行する

Sun JVMは、valgrindで実行すると多くの余分なノイズを吐き出します。これにより、アプリケーションでのメモリの問題の追跡が非常に困難になります。

この状況で小麦をもみ殻から分離するために、偽のメモリエラーを取り除く抑制ファイルまたはVMランタイムモードのいずれかを見つけたいと思います。助言がありますか?

0 投票する
2 に答える
3584 参照

java - 方法: C スレッドによってキャプチャされたイベントをリッスンする Java

C のスレッドによってキャプチャされたイベントをリッスンして応答する Java プログラムを作成したいと思います。
誰かが JNI を使用してこれを達成する方法を説明したり、オンライン チュートリアルを教えてもらえますか?

ありがとうございました。

0 投票する
2 に答える
1093 参照

java - Eclipse TPTP を使用して JNI アプリケーションをプロファイリングするにはどうすればよいですか?

C アプリケーションから JNI 呼び出し API によって起動された Java アプリケーションのプロファイルを作成する必要があります。当然のことながら、TPTP ツールは開始するのに適しているように思えました。ただし、アプリケーションを起動することはできますが、プロファイリングのために接続する方法がわかりません。これが「愚かな初心者」のバケツに該当することはわかっていますが、私は本当に迷っています。説明させてください:

JVM オプション " -XrunpiAgent:server=controlled" を Java VM 起動オプションに追加しました。

私が追加しました$ECLIPSE_HOME/plugins/org.eclipse.tptp.platform.ac.linux_ia32_4.4.1.v200808290100/agent_controller/lib to my LD_LIBRARY_PATH

Sun Java 1.5.0_10 JVM ライブラリに対して実行しています

Eclipse には、プロファイリングしたいコードを含む Java プロジェクトがあります。私はプロファイリングの起動構成を持っていませんし、それらに何を入れる必要があるか本当に知りません.

私の知識が終わるのはこの時点です。JNI ベースのアプリケーションを起動すると、VM の起動中にアプリケーションが停止し、おそらくエージェント コントローラーの接続を待機します。これを実現し、そこから情報を取得するには、どのような手順を踏む必要がありますか?