编译和执行有什么区别