ここでx86とx64のバイナリの違いは何ですか、Windows 7、Ubuntu 12.04(32ビットオプション)用のバイナリをダウンロードしたいと思います
10 に答える
x86は32ビットOS用で、x64は64ビットOS用です
違いは、Javaバイナリがそれぞれx86(32ビット)またはx64(64ビット)アプリケーションとしてコンパイルされることです。
x86はWOW64モードで実行されるため、64ビットWindowsではどちらのバージョンも使用できます。32ビットWindowsでは、明らかにx86のみを使用する必要があります。
Linuxの場合、32ビットOSの場合は適切なタイプx86を選択し、64ビットOSの場合はx64を選択する必要があります。
x86は32ビットの命令セット、x86_64は64ビットの命令セットです...違いは単純なアーキテクチャです。Windows OSの場合、互換性の問題にはx86/32ビットバージョンを使用することをお勧めします。Linuxの場合、OSにロングモードフラグがないと、64ビットs/wを使用できません。
Windows 7 32ビットOSを使用している場合は、32ビットまたはx86バイナリを使用し、Ubuntu 12.04の場合は、コマンドuname -a
またはgrep lm /proc/cpuinfo
(grep lm /proc/cpuinfo
32ビットOSにはcpuinfoフラグがないため32ビットの値を返さない)を使用してアーキテクチャを確認することをお勧めします。 OSのOSは、OSに応じてバイナリを使用します。
** ノート。拡張64ビットをサポートしている限り、32ビットシステムに64ビットosをいつでもインストールできることを忘れないでください。64ビットosは、多目的作業に適している場合があり、32ビットよりも多くのRAMをサポートします。また、64ビットOSに32ビットs/wをインストールすることもできます。
**OS=オペレーティングシステム。
x86 is a family of backward-compatible instruction set architectures based on the Intel 8086 CPU and its Intel 8088 variant.
An instruction set architecture (ISA) is an abstract model of a computer. It is also referred to as architecture or computer architecture.
A realization of an ISA is called an implementation. An ISA permits multiple implementations that may vary in performance, physical size, and monetary cost (among other things); because the ISA serves as the interface between software and hardware.
Software that has been written for an ISA can run on different implementations of the same ISA (Exp: 32bit or 64bit). This has enabled binary compatibility between different generations of computers to be easily achieved, and the development of computer families.
Both of these developments have helped to lower the cost of computers and to increase their applicability. For these reasons, the ISA is one of the most important abstractions in computing today.
x86
- x86 is 32-bit instruction.
- 32-bit processor cannot have 64-bit version of an OS installed.
- It emerged from intel 8086 processor
- Only 4GB addressable memory limit.
- It can be accessed only for 2 cores.
- Less flexible and less secure
- Amount of virtual memory is less
- X86 Applications are compatible with both x86 and x64 systems.
- X86 having an architectural interface used by intel Require using more registers to split and store the value.
x64
- x64 is 64-bit instruction.
- Many 32-bit programs work with 64-bit processors and OS.
- It came as an extension to x86 by AMD
- Maximum 8TB (As of 2018).
- It allows computers to access up to either 8 to 12 cores.
- Efficient and secure.
- Amount of virtual memory is larger.
- Compiling for x64 gives an advantage in speed only in 64bit OS.
- X64 has an architectural interface used by AMD.
- Values are larger than can be stored.
Java Development Kit(JDK)をダウンロードすると、アーキテクチャごとに異なるネイティブライブラリが含まれているため、違いがあります。
- x86は32ビットOS用です
- x64は64ビットOS用です
さらに、64ビットOSで32ビットJDK(x86)を使用できます。ただし、32ビットOSでは64ビットJDKを使用できません。
同時に、コンパイルされたJavaクラスを任意のJVMで実行できます。32ビットか64ビットかは関係ありません。
Oddly enough it was an Intel thing not a Microsoft thing. X86 referred to the Intel CPU series from the 8086 to the 80486. The Pentium series still use the same addressing system. The x64 refers to the I64 addressing system that Intel came out with later for the 64-bit CPUs. So Windows was just following Intel's architecture naming.
x64 is a generic name for the 64-bit extensions to Intel's and AMD's 32-bit x86 instruction set architecture (ISA). AMD introduced the first version of x64, initially called x86-64 and later renamed AMD64. Intel named their implementation IA-32e and then EMT64.
When it comes to memory usage, x86 is limited to circa 3 / 3,5 Gb, while x64 works fine with 4 Gb and more.
Moreover, when it comes to Windows, x86 will run on both X86 and x64 processors, while x64 requires x64 processor only.
"When programming with C# you don’t usually need to worry about the underlying target platform. There are however a few cases when the Application and OS architecture can affect program logic, change functionality and cause unexpected exceptions."
"It is common misconception that selecting a specific target will result in the compiler generating platform specific code. This is not the case and instead it simply sets a flag in the assembly’s CLR header. This information can be easily extracted, and modified, using Microsoft’s CoreFlags tool"
https://medium.com/@trapdoorlabs/c-target-platforms-x64-vs-x86-vs-anycpu-5f0c3be6c9e2