問題タブ [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.
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をデバッグできるようにするにはどうすればよいですか?
java - inpout32.dllを使用したJavaI/ O
WindowsXPのパラレルポートに配線されているいくつかのLEDを制御しようとしています。最も簡単な解決策は、Logix4u.netのInpout32.dllです。さまざまな言語(C ++、Visual Basic、C#)で多くのソースコードサンプルを見つけましたが、Javaを使用したものはありません。
JavaからDLL関数を呼び出すためのチュートリアルを知っていますか?(私がこれまでにGoogleで見つけたものは、それほど進んでいません)。
環境:Java 1.6.0、Windows XP
java - JNAがEXCEPTION_ACCESS_VIOLATIONを引き起こしていますか?
私のJavaUIが予期せず終了し、hs_err_pid
ファイルをダンプしました。このファイルには、「クラッシュはネイティブコードのJava仮想マシンの外部で発生しました」と記載されています。JNAは私たちが使用する唯一のネイティブコードです。これを引き起こす可能性のあるJNAバージョンの既知の問題やバグを知っている人はいますか?以下のエラーファイルの内容の一部を含めました。
java - Java Swing では、ウィンドウへの Win32 ウィンドウ ハンドル (hwnd) 参照をどのように取得しますか?
Java 1.4 では ((SunToolkit) Toolkit.getDefaultToolkit()).getNativeWindowHandleFromComponent() を使用できましたが、これは削除されました。
これを行うには JNI を使用する必要があるようです。これを行うための JNI コードとサンプル Java コードはありますか?
これは、Jawin ライブラリを介して実行できる Win32 GetWindowLong および SetWindowLong API 呼び出しを呼び出すために必要です。
JDialog または JFrame への参照を渡してウィンドウ ハンドルを取得できるように、非常に正確なものが必要です。
JNI を使用した Swing 透過性が関連している可能性があります。
java - JNIの有用性
私は数年間Java開発者であり、JNIを使用して非常に便利で強力なことができると聞いています。使用する必要がなかったのか、それとも自分にそれほど関係がないのかはわかりません。しかし、私はそれに触れる必要はまったくありませんでした。
Javaのこの側面の有用性は何でしょうか。例は素晴らしいでしょう。
netbeans - JNI を使用した NetBeans ライブラリ
NetBeans で JNI を利用するライブラリを定義できますか?
ライブラリ定義では、Jar または Folder のみが許可されているようです。
アプリのビルド時に DLL が jar ファイルに従うようにするにはどうすればよいですか?
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.so
Java 固有のサブディレクトリに移動する${prefix}/lib
必要がありますか?
java - Valgrindの下のSunVMでJNIアプリケーションを実行する
Sun JVMは、valgrindで実行すると多くの余分なノイズを吐き出します。これにより、アプリケーションでのメモリの問題の追跡が非常に困難になります。
この状況で小麦をもみ殻から分離するために、偽のメモリエラーを取り除く抑制ファイルまたはVMランタイムモードのいずれかを見つけたいと思います。助言がありますか?
java - 方法: C スレッドによってキャプチャされたイベントをリッスンする Java
C のスレッドによってキャプチャされたイベントをリッスンして応答する Java プログラムを作成したいと思います。
誰かが JNI を使用してこれを達成する方法を説明したり、オンライン チュートリアルを教えてもらえますか?
ありがとうございました。
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 の起動中にアプリケーションが停止し、おそらくエージェント コントローラーの接続を待機します。これを実現し、そこから情報を取得するには、どのような手順を踏む必要がありますか?