By definition , an object code is a set of instructions for a particular processor architecture. Take the GCC compiler. If you compile the same code from under different platforms (Linux / Windows etc.), but on the same hardware, the output will look like the same * .o files that will not be cross-platform. Why?
To eliminate the difference in library implementations, take the code without them, something like:
//main.c int main() { return 5+3; } //main.c EOF
objdump. You will see that each platform has its own cockroaches, necessary for the final assembly of the executable file. - PinkTux