程序员都希望尽可能地重用自己的代码, 即不需要任何修改,只是简单地重新编译就可以在其他系统上运行。但是,处理器架构、汇编器语法、C 编译器实现、操作系统接口都会对代码的可移植性产生不同程度的影响。首先,汇编代码是不可移植的,例如ARM 汇编语言编写的代码不可能直接运行在x86 处理器上,这是因为ARM 和x86的指令/机器码不同。其次, 虽然MASM 和NASM 汇编器都可以生成x86 机器码, 但是由于它们的语法并不相同,因此也不能直接重用。最后,不同操作系统的系统调用/应用程序编程接口相差甚远, 也严重地阻碍了代码重用。