不一样。
对于不同的编译器,整个流程(预处理——编译器(词法分析、语法分析,语义分析...)——汇编器——链接器)之中只要有稍微一点的不同,我想编译后的结果——可执行文件都是不同的。
对于不同的硬件平台,比如x86、SPARC、MIPS、ARM等,它们的寻址方式、地址格式、指令格式等等等等都不相同,那么编译的过程必然也会有所不同,结果自然不同。
对于不同的操作系统,答案是一目了然的。不同的操作系统下,它的可执行文件格式的要求都不相同,共享库以及动态链接方式都不一样,那么结果肯定也就不一样的啦。
zz《程序员的自我修养——装载、链接与库》