伊谢尔伦2017-04-17 11:20:42
I don’t know gcc, but let’s analyze it from a CPU perspective:
i386
is the name of Intel's earlier 32-bit processor. It is in the same series as i486
, i586
, etc. This series is also called x86
. And it maintains the backward compatibility feature of 486 being compatible with 386. Specifying i386
can achieve the widest compatibility with 32-bit processors
But Intel lost to AMD in 64-bit processors. AMD took the lead in launching a 32-bit compatible 64-bit processor based on x86, and it gained market recognition and was called amd64
. Since this 64-bit processor can also run in 32-bit mode, it is also called x86-64
.
has actually only developed into two commonly used standards so far, one is Intel's 32-bit standard x86
, and the other is AMD's 64-bit standard amd64
(although amd64
is also developed from x86
).
Of course Intel also has its own 64-bit standard called IA-64, which is the Itanium processor.
Based on my understanding, to answer your question: i386
The target CPU platform of the compiled program can only be 32-bit compatiblex86-64
The target CPU platform of the compiled program can only be 64-bit compatible
The above analysis is only my personal understanding, please correct me if there is anything wrong.