什么是编译环境?他的作用是什么?编译环境跟运行平台有什么不同?