一. 生成没有cmd窗口的exe程序
1. 目前go语言生成exe我是在goland运行时设置了输出路径,运行时就会产生exe可执行文件
2. 默认是执行的go bulid指令,生成的ext双击打开是有CMD窗口的,由于我是作为一个客户端支持服务使用的,用户不小心点击到关闭按钮就关掉了,最小化也是在电脑最下方有个图标
3. 使用go build -ldflags “-s -w -H=windowsgui” 指令生成exe,指定不需要打开CMD窗口
go build -ldflags "-s -w -H=windowsgui"
-s 省略符号表和调试信息
-w Omit the DWARF symbol table 省略DWARF符号表
-H windowsgui 不打印信息到console (On Windows, -H windowsgui writes a "GUI binary" instead of a "console binary."),就不会有cmd窗口了
执行方式: CD到程序根目录 执行 go build -ldflags "-s -w -H=windowsgui"
执行后根目录会生成一个exe程序,不带cmd窗口的exe文件大小也会小点
双击执行测试
没cmd窗口的exe双击启动后看不到任何反应,我都不知道是否启动成功了,只能在任务管理器找到
这个程序看是否在运行中,或者我在调用一下它发布的http服务确认是否启动成功了。也很麻烦。
二. go语言可执行程序继续优化
上诉优化没cmd后 程序是否启动成功不直观,不从任务管理器看,都不知道他启动成功了。
我们使用的clodop云打印控件就比较直观,开机自启,然后在右下角有一个图标可以查看。
如果go的exe也能实现类似这种效果使用体验就会好很多。
目前了解的go语言开发gui托盘程序可能不能实现,拟研究使用c语言或者electron开发一个软件管理客户端,用来管理go的进程,开启关闭go程序,后续还可以扩展管理clodop等更多电脑的软件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)