問題タブ [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 投票する
1 に答える
78 参照

java-native-interface - OpenSolaris Brandz と JNI は良い組み合わせですか?

OpenSolaris マシンで Java アプリケーションを実行したいのですが、このアプリケーションは dll を使用しているため、Linux バイナリしかありません。これは、OpenSolaris Brandz 機能について何も知らないためです。Linux brandz に dll をデプロイし、OpenSolaris 側で実行されている jvm からリンクできますか?

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

android - 複雑なネイティブ アプリケーションを Android ARM にコンパイルする完全な方法

これは私の最初の S/O の質問です。優しくしてください!

Android デバイスで使用するために C アプリケーションをネイティブ ARM に移植する方法について詳しく知りたいです。

ソースに付属のビルド前のツールチェーンを使用して簡単なプログラムを作成できますが、このツールチェーンを複数のファイルで構成および作成が必要なアプリケーションで使用するにはどうすればよいですか?

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

java - JNI呼び出しはCとC++で異なりますか?

したがって、Java Native Interfaceを利用するCの次のコードがありますが、これをC ++に変換したいのですが、方法がわかりません。

Javaプログラム:

JNIがCおよびC++と対話する違いは何ですか?どんな助けでも大歓迎です。

ありがとう、ピート

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

eclipse - パスが長いため、Eclipseプラグインがdllをロードしていません

私はEclipseプラグインを構築しています(Notesプラグインですが、最終的にはEclipseプラグインです)。私のプラグインが依存しているプラ​​グインの1つは、ネイティブdllをロードする必要があります。

問題は、そのようなdllがディスクのどこにあるかに応じて失敗することです。特定のしきい値よりも長い場合、以下のエラーが発生します

java.lang.UnsatisfiedLinkError:nlsxbe(ファイル名または拡張子が長すぎます。)at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:952)at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:921)atjava。 lang.System.loadLibrary(System.java:452)at lotus.domino.NotesThread.load(Unknown Source)at lotus.domino.NotesThread.checkLoaded(Unknown Source)at lotus.domino.NotesThread.sinitThread(Unknown Source)at com .atempo.adam.lotus.plugin.views.TopicView.createPartControl(TopicView.java:609)

パスをPathenvvarに追加し、dllを登録しました。私の環境は、Ms vista profesional、java1.5、eclipse3.4(およびロータス8)です。

誰か手がかりがありますか?

よろしくお願いします。

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

c++ - JNIを使​​用したC++でのメソッド呼び出し?

だから私はJNI呼び出しを調べて、事前に作成されたC ++プログラムと対話できるようにしました。私は、C ++を知りませんが、いくつかの基本を学ぼうとしています。JNIメソッドの外部のメソッドを簡単に呼び出そうとしましたが、常に次のエラーが発生します。

エラーc3861'myMethod':識別子が見つかりません

wisdomeの言葉はありますか?

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

c++ - C / C++ReflectionとJNI-まだ記述されていないネイティブコードを呼び出す方法

私は、プラグインとしてCライブラリを使用できるようにするJavaソフトウェアを実装しています。これらの将来の関数を呼び出すには、Javaでネイティブ関数を作成する必要があります。この関数から、まだ存在していないコードを呼び出すことができます。メソッドのシグネチャは静的ですが、メソッドとクラスの名前は変更される可能性があります。

ロードされたライブラリまたは使用可能な関数を確認する方法はありますか?私がそれがうまくいくことを望む方法は次のようになります:

私のJavaクラスには、関数があります。

これは私のCライブラリの関数を呼び出します。

そこからクラスとメソッドの名前を取得し、存在する場合はそれらを呼び出し、存在しない場合は例外をスローすることができます。

私が探しているのは、ある種のJavaスタイルのリフレクションですが、Cであるか、そのC++で失敗していると思います。

どうすればこれを達成できますか?

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

java - CアプリケーションをWebサービスとして有効にする

Oracleデータベースと相互作用するC言語で記述されたアプリケーションがあります。このアプリケーションは実行可能ファイルであり、UNIXプラットフォームで実行されます。他の人が利用できるように、このアプリケーションをWebサービスとしてhttp経由で公開する必要があります。

WebサービスにJNIとCXFを使用して、Tomcatでアプリケーションを実行することを考えました。

これは正しい解決策ですか、それとも他の可能性がありますか?

Webサービスを作成するためにAxis2がC言語をサポートしていることがわかりました。私はC言語の経験がありません。CのAxis2は良いですか?アプリのデプロイに使用できるhttpサーバーは何ですか?この場合、Apache Webサーバーで十分でしょうか?

編集:コマンドラインは、exeについて言及したかのようにオプションではありませんが、公開する必要のある部分には、入力として複雑なデータ構造が必要なため、使用可能なコマンドラインがなく、少し難しいです。

0 投票する
14 に答える
53169 参照

java - JNIで使用中にJavahエラーが発生しました

指示:

結果:

クラスパスを正しく設定しましたが、それでもこのjavahエラーが発生します。

これに対する解決策は非常に役立ちます。

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

android - JNI技術。開発時にAndroidまたはLinuxプラットフォームで、そう?

Android プラットフォーム用のネイティブ C/C++ 共有ライブラリの開発中に問題が発生しました。Android が上位層の開発に Java 言語を使用していることは周知のとおりです。これで、ASCII C/C++ を使用するエンジン コードを、バイオニック ライブラリを使用して Android に移植しましたが、ユーザー インターフェイスを設計する必要がある場合は、JNI を使用してエンジン コードを呼び出す必要があります。

私の知る限り、それが唯一の選択肢です。問題は、私のエンジンが何百ものエクスポート API を所有していることです。JNI技術を使用する場合。これらの API を新しい共有ライブラリにラップして使用する必要がありますが、これには開発とテストに多くの時間がかかります。

誰かがこの状況についていくつかの提案をすることができますか? ところで、私は Java や JNI 技術に詳しくありません。

チップ:

インターネットを検索すると、JNative などの JNI ジェネレーターのオープン ソースが見つかりました。これまでのところ、Android プラットフォームに適しているかどうかはわかりません。

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

c++ - LogonUserを使用してユーザーを認証するためのJNI呼び出し?

Javaサーブレットを介してWindowsユーザーを認証する方法を疑問に思っているC++初心者。

これは、ユーザーのユーザー名ドメインとパスワードを使用して、Java サーブレットから JNI 呼び出しを取得するためにまとめたコードです。

コンパイルしようとすると、次のエラーが発生します。

必要なものを含めていないと思います。どんな助けでも大歓迎です。