Share via


Solution platform x86 vs Win32

Question

Sunday, December 26, 2010 7:13 PM | 1 vote

Hi;

When building, what's the difference between Win32 and x86? They both seem to be 32-bit.

thanks - dave

Very funny video - What's your Metaphor?

All replies (7)

Monday, December 27, 2010 3:51 PM ✅Answered | 1 vote

It depends on the compiler. If you have a normal project it will generate x86/x64 code. A smart device project is a different story. The following is signature, not part of post
Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
Visual C++ MVP


Monday, December 27, 2010 12:59 AM | 2 votes

X86 is for Intel/AMD's 32 bit chip set. Win32 can support other chipsets, such as ARM in a Windows Mobile project.

The following is signature, not part of post
Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
Visual C++ MVP


Monday, December 27, 2010 3:48 AM

Hi;

Thank you. Is it generating an intermediate set of byte codes for Win32 then? I know the ARM native instruction set is very different from the intel one.

And therefore is X86 the preferred platform as that generates native code?

thanks - dave

Very funny video - What's your Metaphor?


Monday, December 27, 2010 8:26 AM | 1 vote

Hi David,

Based on my understanding, the 32bit Windows API is commonly known as Win32. Meanwhile, 64Bit Windows API is called Win64. X86 and X64/AMD64 is referred to Intel/AMD ‘s CPU as Sheng pointed out. Win32 and X86 are defined into two different area.

 

Win32 is major designed for desktop version of Windows OS, but not limited, for example Windows CE, Windows Mobile, which also using 32 bit Win APIs but for different CPU platform, e.g. ARM.

 

For answering your question, for desktop version of windows, X86 is the platform for Win32 and X64/AMD64 is the platform  for Win64.

 

Hope this information helps.

 

Best Regards,

Yi Feng Li

Yi Feng Li [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.


Monday, December 27, 2010 3:45 PM

Hi Yi;

Thank you - I'll build to X86, not Win32.

Out of curiosity, what does Win32 generate? I assume it's not native X86 instructions. Is it some kind of intermediate byte code?

thanks - dave

Very funny video - What's your Metaphor?


Monday, December 27, 2010 3:53 PM

Oh...

So X86 means create X86 code no matter what while Win32 means create code to match the device???

thanks - dave

Very funny video - What's your Metaphor?


Monday, December 27, 2010 4:02 PM

Win32 means the target is 32bit Windows where as the CPU maybe Intel, AMD, Alpha, Cyrix etc. Win16 means the target is 16 bit Windows. The following is signature, not part of post
Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
Visual C++ MVP