编译器在实现这些约定总是有细微的差别存在，所以在不同编译器编译出来的代码很难接合起来。另一方面，有些约定被当作一种API标准（如stdcall），编译器实现都较为一致。
历史背景.在微型电脑出现之前，计算机厂商几乎都会提供一份操作系统和为不同编程语言编写的编译器。平台所使用的调用约定都是由厂商的软件实现定义的。在Apple Ⅱ出现之前的早期微机几乎都是“裸机”，少有一份OS或编译器的，即是IBM PC也是如此。IBM PC兼容机的唯一的硬件标准是由Intel处理器(8086,