Golang 开发者深入浅出golangGolang

82.go交叉编译windows下编译linux运行程序

2019-12-19  本文已影响0人  厚土火焱

go语言开发的一个让人激动的特性就是可以跨平台。同样的代码,无需修改,只要重新编译一下就可以在另一个平台下运行,而你只需要在编译的时候指定一下目标平台系统就可以了。
最常见的就是windows下开发完的应用需要跑在linux上了。
拿一个已经开发完成的web程序来实践,在windows上编译出red hat linux上的应用吧。编译到其他系统也相差无几。
首先,编译使用命令行窗口进行。

SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64
go build 我的应用.go

其中“我的应用.go”就是要编译的go程序了。


实操截图

实操的结果就是在文件main.go的路径下生成了一个main文件。


linux目标系统上运行的编译结果
把这个编译结果main文件及程序运行配置文件静态文件等一起复制到red hat linux中。我这里把它放在desktop了。 main放在了桌面上
之后打开terminal 打开red hat 的 Terminal
第一次可能需要给main程序权限

chmod 777 程序名称

我这里输入的命令是 chmod 777 main
之后就可以直接运行main程序了

./main

一般情况下,直接运行就是可以的


直接./main运行起来
欣赏一下我此次测试实践的效果 这只是一个Web站
如果你想停掉这个应用。先ps命令找到这个应用 PID3752那行就是目标应用进程了
使用kill命令,关掉这个进程 kill PID3752
再刷新浏览器就发现应用已经停止了 应用停止了,网页自然就打不开了
现在重新运行起来 ./main命令
刷新浏览器,一切又都恢复正常了。
网页又回来了
上一篇 下一篇

猜你喜欢

热点阅读