分离代码和输出文件带上版本号

#35 #38 分离代码和输出文件带上版本号