编译器分为前端和后端前端生成平台无关的中间代码后端根据目标机器产生目标代码连接器会根据你的目标平台,链接不同的库windows下的c标准函数是msvcrt库实现的linux下的c标准函数是libc库实现的虽然编译阶段产生的目标代码是一样的,但是目标系统不一样,连入的库也不一样,编译器依靠这种机制实现同一代码在不同平台上的编译比如printf函数在windows/linux下的实现就不一样,是根据特定系统提供的库实现的!