問題タブ [jnaerator]
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 - JNA C int* から JNA 構造体に移動するにはどうすればよいですか
Javaにマップしようとしている次のCコードがあります。
メッセージ構造体に相当する JNA は次のとおりです。
彼らが C コードで何をしているのかは知っていますが、Java 側でこれを行う方法がわかりません。Java メッセージ クラスに、渡されたパラメータの長さと配列を含める必要があります。
助けてください!
更新: byte[] を保持するメッセージ構造体の独自のコピーを作成しました:
この構造体を他の構造体とは対照的に渡そうとしますが、明日までテストできません。
java - 1 つのヘッダーの下にある複数の動的ライブラリで JNAerator を使用する方法は?
JNAerator を使用して、プロジェクトに含めることができる単一の jar ファイルを生成しています。各オペレーティング システムの動的ライブラリをサポートし、この単一の jar にすべてをアーカイブしたいと考えています。
これまで JNAerator をいじって、次のようなコマンドを使用して単一の動的ライブラリを含めることができました。
ただし、これはパッケージのみですが、複数のシステム ( 、、、および)test.dll用の動的ライブラリがあり、これらをすべて 1 つの jar にパッケージ化してサポートしたいと考えています。test_win32.dlltest_win64.dlllibtest_mac.dyliblibtest_linux_x86.solibtest_linux_amd64.so
JNAerator の 1 回の実行でこの「オールインワン」アプローチを行う方法はありますか、それともプラットフォームごとに異なる jar ファイルを生成する必要がありますか?
jna - linux-s390x 固有の libjnidispatch.so を使用して jna-4.1.0.jar を再構築する方法
jna-4.1.0.jar ファイルを再構築して、linux-s390x 固有の libjnidispatch.so ファイルを含めるにはどうすればよいですか。
これは私のアプリケーションの 1 つに必要であり、この libjnidispatch.so ファイルの依存関係に失敗しています。
この質問に従おうとしました: How to use JNAerator with multiple dynamic libraries under one header?
使用する構文:
以下のエラーを取得:
java - JNAを使用してネイティブメソッドから返された構造化された可変長配列をマップする方法
配列の長さのフィールドとともに、他の構造体ポインターの配列を含む構造体があります。この構造体は、ネイティブ メソッドによって「out」パラメーターを介して返されます。
元の「C」構造:
JNAerator によって生成された対応する Java クラス:
「C」メソッドのシグネチャ:
Java の使用法:
これにより、「配列フィールドを初期化する必要があります」という JNA エラー メッセージが生成されます。
現在Pointer、配列の代わりに使用し、そこから手動で配列を構築しています:
使用法:
しかし、このアプローチは冗長であり、実際の構造体型ではなく Pointer が使用されているため、満足のいくものではないようです。
JNAでこれを処理する標準的な方法は何ですか?
java - JNAerator を使用して Mac OSX でライブラリにアクセスする
ライブラリのヘッダーを使用して JNAerator を実行すると、プロセスがプロセッサ時間を浪費し、最初に警告を発行した後、プロセスが終了しないように見えます。
そのため、-ScanSymbols オプションも試しました。
そして out.jar には非常に多くの .class ファイルがありますが、.java はありません。使用方法がわかりません。
ウィキで提案されているように -noComp -noJar を使用すると、まったく出力が生成されません...
私は何を間違っていますか?それとも、これは絶望的なケースですか?

