This question may be redundant, but I didn't found exact answer.
What is the Difference between C 8 bit 16-bit 32-bit compilers.
how the .exe differ generated by different compilers for same code...........
This question may be redundant, but I didn't found exact answer.
What is the Difference between C 8 bit 16-bit 32-bit compilers.
how the .exe differ generated by different compilers for same code...........
16 bit compilers compile the program into 16-bit machine code that will run on a computer with a 16-bit processor. 16-bit machine code will run on a 32-bit processor, but 32-bit machine code will not run on a 16-bit processor. 32-bit machine code is usually faster than 16-bit machine code.
With 16 bit compiler the type-sizes (in bits) are the following:
short, int: 16
long: 32
long long: (no such type)
pointer: 16/32 (but even 32 means only 1MB address-space on 8086)
With 32 bit compiler the object-sizes (in bits) are the following:
short: 16
int, long: 32
long long: 64
pointer: 32
With 64 bit compiler the object-sizes (in bits) are the following:
short: 16
int: 32
long: 32 or 64 (!)
long long: 64
pointer: 64
[While the above values are generally correct, they may vary for specific Operating Systems. Please check your compiler's documentation for the default sizes of standard types]
Following can explain a little bit more... http://cboard.cprogramming.com/c-programming/96536-16-bit-compilar-32-bit-compilar.html
not all compilers generate .exe for starters, different platforms have different forms you can give it code.
8bit compilers target microprocessors with 8 bit registers, same for 16 bit and 32 bit, and also 64 bit. Depending on the microprocessor each often has there on addressing scheme also for memory and hardware.
for each of 8/16/32/64 bit C compilers, there are many compilers targetting different micros. Each will do various optimizations for each platform. So...
They are all quite different.
it depends also on the processor register bit. the 32bit compiler can compile into 32bit machine code which can be run only on 32bit and 64bit microprocessor. But not less than 32 bit.