04)go语言使用优化 启动时不打开CMD控制台,后台运行

本文介绍了如何使用Go语言编译生成不带CMD窗口的EXE程序,通过-gobuild-ldflags参数实现,并探讨了程序启动状态不直观的问题。作者提出考虑使用C语言或Electron开发管理客户端,以提升用户体验,如实现系统托盘图标来监控Go程序的状态和操作。
摘要由CSDN通过智能技术生成

一. 生成没有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等更多电脑的软件。

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值