哪种语言编写的程序转成可执行文件比较方便(exe / binary file) ?

2023-07-04 00:23:01 +08:00
 aim467

想写一些小工具,主要是基于命令行上进行操作的工具,想问问大家哪个语言来写比较方便

13501 次点击
所在节点    程序员
159 条回复
zysuper
2023-07-04 09:39:17 +08:00
golang
c2const
2023-07-04 09:44:45 +08:00
小工具,C/C++最舒服、win 平台还可以 C#。
----------------------------------------
go 、java 、python 、js 也可以。
但是 go 写小工具可能误报毒,java 、python 、js 都有打包或者 AOT 编译到 exe ,但体积大。
选个熟悉的语言写就行,别想那么多。
nikenidage1
2023-07-04 09:47:42 +08:00
@c2const
@a33291 您看看我上面这个
C#写的, 带 UI ,跨平台,原生编译,不需要运行时,体积 20 几 M ,很简单,没啥操作手段
mscorlib
2023-07-04 09:49:42 +08:00
跨平台:
首选 golang
次选 rust
然后是 java 、.net

如果仅 windows 的话首选 C#,winform
xiangyuecn
2023-07-04 09:50:07 +08:00
“主要是基于命令行上进行操作的工具”,干脆直接写命令行脚本得了😂

参考我的一个 Java 开源库,也是命令行里面调用测试的,文件直接在根目录裸奔,给 windows 写了个.bat ,linux macos 写了个.sh ,脚本写法基本上都是通用的

高性能的省市区坐标数据、边界数据查询工具,Java 开源程序、内置 http 查询接口,内存占用低( 1 秒可查 1 万个以上坐标对应的城市信息): https://github.com/xiangyuecn/AreaCity-Query-Geometry
zjsxwc
2023-07-04 09:55:11 +08:00
虽然但是,既然 java jre 加个起动器都可以,
那么,javascript node 加个起动器也可以。
liantian
2023-07-04 10:02:11 +08:00
这种讨论毫无意义啊…

用最熟悉的语言搞就完事了…

我们这一堆运维脚本是 js 的,挂 node 跑,原因无他,写脚本的大佬以前是个前端 js 大佬…
ljsh093
2023-07-04 10:20:20 +08:00
@aa51513 #13 rust 的 gui 跟闹着玩一样
c3de3f21
2023-07-04 10:23:03 +08:00
@H0H 别 java 了求求了
c3de3f21
2023-07-04 10:23:46 +08:00
就用 C 写最好
BingoXuan
2023-07-04 10:27:08 +08:00
python ,用 py2app 或者 pyinstaller 打包,配合 dearpygui 这类 imgui 可以很快出效果
billzhuang
2023-07-04 10:27:19 +08:00
golang 的 exe 容易被 windows defender 报毒
wu67
2023-07-04 10:27:31 +08:00
上来就整 Java, 我上着班呢, 差点笑死
GiantHard
2023-07-04 10:33:49 +08:00
用最熟悉顺手的编程语言就好了,先把工具写出来,再考虑优化。
thin0
2023-07-04 10:40:32 +08:00
@xgdgsc 我还以为 golang 写的东西几兆几兆的已经够大了😂,没想到还有几百兆的? golang 的生成物体积能到 kb 级别就好了
westoy
2023-07-04 10:46:03 +08:00
@thin0

strip && upx 大法好
thin0
2023-07-04 10:54:37 +08:00
@westoy 加壳了就更容易报毒了,我使用场景对体积和是否报毒这块要求比较高,所以不想用 c/c++折中的方式之前去入门了 rust ,哈哈
beyondex
2023-07-04 10:54:59 +08:00
c#写起来很舒服啊。也能发布成单 exe 文件。跨平台等等。
shijingshijing
2023-07-04 10:56:11 +08:00
Java 可拉倒吧,还得装个 JRE ,命令行+小工具+跨平台,再考虑到开发难度和速度,Python 和 Qt 是最合适的,Python 有一键打包成 exe 的工具。
idealhs
2023-07-04 11:05:12 +08:00
@H0H JAVA 仔特有的 Native 气质

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/953828

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX