8

私は64ビットのWindows7インストールで64ビットの日食を使用してJavaアプリケーションを開発しています。アプリケーションがJpcapを使用しているため、32ビットのJDK(1.7.0)を使用する必要があります。これは、64ビットのJDKではコンパイルされません。

アプリケーションは、32ビットシステムと64ビットシステムにまたがるクロスプラットフォームである必要があります。これは通常、任意のJDKを使用して開発されたJavaアプリケーションの場合です。しかし、jarの他に、Jpcapがシステムライブラリ(.dll / .so)をインストールし、それがWinPcapとlibpcapのラッパーであるため、状況は少し複雑だと思います。したがって、Jpcap呼び出しは、これらのライブラリへのネストされた呼び出しの連続です。

ここに質問があります:

アプリケーションの実行可能ファイルは64ビットプラットフォームで動作しますか?Windowsライブラリには64ビットバージョンが存在しないため、ユーザーが必要なx86ライブラリ(jpcap.dll / .so、WinPcap、libpcap)をインストールしていると仮定します。

4

2 に答える 2

7

アプリケーションの実行可能ファイルは64ビットプラットフォームで動作しますか?Windowsライブラリには64ビットバージョンが存在しないため、ユーザーが必要なx86ライブラリ(jpcap.dll / .so、WinPcap、libpcap)をインストールしていると仮定します。

アプリケーションを実行するには、32ビットのJREを使用する必要があります。64ビットのホットスポットJREは、32ビットのネイティブライブラリを使用できません。

ただし、逆に、開発とビルドに64ビットと32ビットのどちらのEclipseを使用するかは問題ではありません。ただし、ネイティブライブラリを含むテスト用に32ビットJREを起動するようにEclipseを構成する必要があります。

明確にするために、64ビットOSプラットフォームで32ビットJREを実行することはできますが、その逆はできません。


更新-どうやらjpcap.dllは64ビットWindows用に構築できます-この投稿を参照してください: https ://groups.google.com/forum/?fromgroups =#!topic / jpcap / -vxZv0eAcp4

于 2012-10-26T02:59:00.317 に答える
1

記憶から(そしてそれは少し霧がかかっています)私はそうは思いません。

ネイティブライブラリ(少なくともWindowsでは)は、JVMと同じビットビープネス内で実行する必要があります。

したがって、x32ビットライブラリをロードできるようにするには、x32ビットプロセス(またはx32ビットJVM)内で実行する必要があります。

于 2012-10-26T02:47:46.177 に答える