Delphi CE 下载怎么选实际下载到的都是 RAD Studio ,然后换了好几个邮箱都不到授权邮件,放弃了。
其他的 Electron ,JavaFx 、Compose Multiplatform 、WPF 这些看下来编译结果个启动后空载内存都不低,个人不喜欢。
前阵子用 WinForm 做了个小工具,启动后 17M ,勉强能接受,但是今天找了个类似的,人家启动才 2M 功能还比我多,就想试试别的期望能内存占用更低。
1
flyqie 32 天前 via Android
不如说说你常用的语言是什么?
不同语言能做到的大小确实不一样 |
2
FrankAdler OP @flyqie 服务端开发的,Java 、Go 、NodeJS 这些,写 WinForm 学了点 C#,磕磕绊绊的,也不是很介意学点新东西
|
3
hefish 32 天前
搞个古时候的 mfc ?
或者远古时代的 win32 api ? |
4
ericguo 32 天前 4
|
5
FrankAdler OP @hefish 如果找不到其他的选项会试试这些。
|
6
musi 32 天前 via iPhone
直接用 go 起一个 server 然后用浏览器充当 GUI 呢?
|
7
9PO6J9akCR3M1qOe 32 天前
delphi 盗版随便装啊,wxwidgets 写程序也小,4M 左右,delphi 程序也三四 M 吧
|
8
cJ8SxGOWRH0LSelC 32 天前
易语言开发小工具资源占用也很低哦!
|
9
aiqinxuancai 32 天前
都自用了,何必呢?
|
10
akira 32 天前
Delphi CE 去官网下。 国内下载源基本上都是盗版的 rad studio
|
11
aiqinxuancai 32 天前
比你占用低的,我估计用的这个
HANDLE hProcess = GetCurrentProcess(); SetProcessWorkingSetSize(hProcess, -1, -1); |
12
roundgis 32 天前 via Android 1
|
13
FrankAdler OP @musi 有些场景不太适合,比如 托盘小工具提示啥的
|
14
FrankAdler OP @aiqinxuancai 就是自用,能控制,才想努努力
|
15
FrankAdler OP @deng9695 盗版也是可以的,之前想着 CE 免费就没动这个心思
|
16
chenqh 32 天前
要不先命令行?我现在就在用 python 的命令行来给自己同步文件.
|
17
FrankAdler OP @aiqinxuancai 具体我就不懂了,当我打开他设置里的释放未使用的内存回收,每次关闭窗口到托盘就剩 600k 内存占用了。
|
18
FrankAdler OP @akira 官方下载了不给发送授权邮件。。。我安装好了进不去。
|
19
FrankAdler OP @aiqinxuancai 比起易语言,感觉 aardio 这种我可能更愿意尝试,而且我也写过,感受也还行
|
20
FrankAdler OP @chenqh 场景不同,比如我做个常驻托盘的 App 启动器,或者啥需要托盘、快捷键快速唤起窗口的
|
21
1una0bserver 32 天前 via Android
autoit3/ahk ,pecmd 脚本,易语言,c ,rust,zig ,vb6
|
22
qiniu2025 32 天前
用 delphi7 精简版,自身很小,写的软件也小
|
23
yinmin 32 天前 via iPhone
还有 1 个古董级的开发软件能实现 OP 的需求,Visual Basic 6 。
我找到以前用 visual basic 6 写的一个 windows service ,曾经稳定运行了 10 多年,整个软件只有 60KB ,运行只占 2MB 内存。 刚才试了一下,exe 直接复制到 win11 ,无需安装支持库能直接运行,绝对是绿色软件标准。 visual basic 是比尔盖茨的最爱,居然 vb6 支持库内置 windows 从 win2000 、xp 、vista 、7 、8 、10 保留到了 win11 ,用 vb6 写的程序能以绿色软件形式直接运行。 |
24
FrankAdler OP |
25
yinmin 32 天前 via iPhone 1
visual basic 6 是 1998 年发布的,当时最先进的 pc 是奔腾 II 300MHz ,64MB 内存,4GB 硬盘跑 win98 或 win NT 4.0 (所以程序占用资源极少)
金蝶 erp 软件 kis 、k3 ,用友 erp 软件 u8 都是用 vb6 开发的,至今仍有企业在使用这些 vb6 开发的软件(目前仍有工程师做 vb6 的二次开发) 微软在 2021 年还为 vb6 支持库发布了最新补丁以支持 win11 。 |
26
dcsuibian 32 天前
说句不人道的:用 C ,因为我听说 Rufus 就是用 C 写的,我感觉那个挺轻量的。
|
27
nikenidage1 32 天前 1
试试 winform 的 AOT 啊
|
28
HFX3389 32 天前 via iPhone
要不要试试易语言或者 aardio 呢?
|
29
kneo 32 天前 via Android 1
有个现在有点冷门的选择,就是如果应用本身足够简单的话,可以考虑 autohotkey 。
|
30
xmagicer 32 天前
如果界面比较复杂,windows 原生系统接口也不一定底,可能是直接调用系统功能导致的统计数据不匹配
|
31
xmagicer 32 天前
试试最底层的 win32 gdi
|
32
FrankAdler OP @yinmin 折腾了一下装上了,跑了个空 form ,编译启动后 1058kb 内存,感觉还行,等我深入试试。
|
33
WebKit 32 天前 via Android
Flutter 呢
|
34
Guoiaoang 32 天前
我是做 C++的,据我所知,越高级的编程语言资源占用越高,汇编 < C < C++ < JAVA ,涉及到 web 更大,Go 好像常用于集群、高并发场景,资源占用应该也不高。不过涉及到 GUI 的话好像就没几个可选的了。据我所知 Windows 可以使用 Win32 的 API 编程,之上封装的有 MFC 、QT ,或者使用 OpenGL 编程。QT 、OpenGL 、java 、脚本语言都是跨平台的但脚本语言实际上也是调用的编译语言的实现。我用的是 Win11 ,QT 写的 snipaste 占用 24M ,scintilla 写的 Notepad2 占用 49M ,rust 写的 rustdesk 占用 42M ,可以在 github 上按流行的编程语言筛选出最有名的 GUI 程序体验一下,大概就知道什么适合自己了。
|
35
jsq2627 32 天前 via iPhone
|
36
kk2syc 32 天前
go+win32api+自绘,14M 内存,我觉得很满足了,毕竟俺配的 128G 内存
|
37
dwu8555 32 天前
用 Lazarus ,Delphi 的开源社区版本,跨平台,还是挺好用的
|
38
hanxiV2EX 32 天前 via Android
|
39
loading 32 天前
aardio 值得拥有。
|
40
EngAPI 32 天前
lazarus ,跨平台,挺好用的
|
41
bruce0 32 天前
想要极致的低内存占用, Windows 图形应用, 常见的应该是用 C/C++使用 win32 或者 MFC 开发吧, 手搓汇编这种事不是一般人能干的,很赞同 #34 楼老哥的说法
|
42
kkgogo 32 天前
aardio
|
43
sir283 32 天前
Windows 可以用 win32 跟 mfc 啊,Linux 可以用 xwindow 啊,而 c++的 qt 框架介入两者之间,方便开发跟阅读,资源占用也比较 electorn 这些前端框架,要小一些。
|
45
loginv2 32 天前
aardio 易语言 Lazarus VisualFreeBasic
|
46
cnbatch 32 天前
不知道 OP 用不用分辨率缩放。如果用到了缩放,那么 OP 要考虑清楚这一点。
先说事前准备。对于使用了分辨率缩放的应用,只要是用 C 、C++开发的,在开发时需要把这里提到的 XML 保存成 .manifest 文件,嵌入到 vcproject 当中。 https://learn.microsoft.com/en-us/windows/win32/hidpi/setting-the-default-dpi-awareness-for-a-process 做法很简单,我是保存成 dpi_adjust.manifest 文件,直接拖入 Visual Studio 当前项目里面。使用 manifest 文件的好处是不用每次都手动调用 SetProcessDpiAwarenessContext 这个 API 。 不做这个准备的话,程序运行后在高 DPI 环境下是一片模糊的。 准备完成后,麻烦的地方来了。 使用纯 Win32API 来做的话(无论是纯 C 还是 C++),那就要自行调整缩放后的 UI 坐标。UI 内的每个图标、每个文本框等等都要手动调整。 Rufus 的源码就是这样干的,对于每个 UI 资源都要手动调用 GetWindowRect 、MapWindowPoints 调整位置。 像 OP 这种单纯的托盘类应用,其实使用 wxWidgets 都足够了,程序启动后的内存占用 4M 上下,并没有比 Delphi 、VB6 多很多。最重要的是,如果使用了 wxWidgets 之类的 UI 框架,框架自身已经包含了缩放所需的计算,无须使用者操心。 |
47
ETiV 31 天前 via iPhone
https://github.com/ColleagueRiley/RGFW
A cross platform lightweight single-header simple-to-use window abstraction library for creating graphical programs or libraries. |
48
Serino 31 天前
试试某大佬的 aardio ?
|
51
panda1001 31 天前
追求内存占用的 xp 开发
https://skywind.me/blog/archives/2808 |
52
sunmker 31 天前
何必嘞
|
54
hxy100 31 天前
aardio +1
|
55
chingyat 31 天前
可以试试 tcl/tk ,虽然内存占用可能比原生语言大,但 runtime 本身很小。
|
56
raptor 31 天前
不试试开源版本的 delphi:
Lazarus |
57
yqs112358 31 天前
QT 应该挺符合你的要求,写东西也方便,现成工具库一大堆
(当然还是比较占硬盘,几十 M 打底吧,不过就目前硬盘容量来看也不差这点) 图方便用 python 写,也可以用 PyQT |
58
yqs112358 31 天前
话说。。其实这几 M 内存也无所谓了
有强迫症的话平时可以多看看 Defender ,Chrome ,VSCode ,QQ 微信的占用,脱敏一下( |
59
yqs112358 31 天前
除非你是要跑在十年前+的老机子上,不然也不用太在意这个,和其他的大玩意相比你自己写的基本只是小意思
|
60
mxlg2030 31 天前
rust Tauri
|
61
xueyuehua 31 天前
webview2 怎样,我也没玩过
|
62
BigShot404 31 天前
vb6?
|
63
iorilu 31 天前
求一个 vb6 包下载, 最好是绿色版解压能用的, win10 应该可以把
|
64
chihaya4649 31 天前
刚好最近也在找有什么好方案,感觉以不装 runtime 但又好开发且档案要小,应该是使用 winform ,但最近比较蛋疼的是各种杀毒软件误报,目前是用 golang+liblcl(Lazarus )
|
65
layxy 31 天前
不考虑跨平台,aardio 就挺不错的
|
66
LeegoYih 31 天前
易语言
|
67
ajan 31 天前
vb6 精简版 、aardio
|
68
ajan 31 天前 1
@iorilu
Visual Basic 6.0 SP6 简体中文迷你版 (安装版), (包含支持鼠标滚轮扩展,有使用说明) 文件大小:6.4 M 下载: https://wwp.lanzoup.com/iBE6A2g6gyte |
70
XinPingQiHe 31 天前
要追求极致的体积小,可以试试,vc6 或者 delphi 开发 控制台应用程序,把你设计的几个功能,分别安排不同的命令行参数去处理就行,大小可以控制到 KB 级别
|
72
luxor 31 天前
lvgl
|
73
cloverzrg2 31 天前
C 语言写,可以做到文件最小、内存占用最低。
C 语言写这个复杂性比较高,从你问的问题来看,估计你写不出 |
74
gcgj72 31 天前
rust
|
75
LXGMAX 31 天前
slint
|
76
zengxs 31 天前
你会 go 那肯定选 wails 啊
|
77
w568w 31 天前
可以参考一下我之前的问题帖: https://www.v2ex.com/t/955040
|
78
icy37785 30 天前
虽然易语言在鄙视链底端,但是你的需求真的是易语言的统治区。
|
79
circleee 30 天前
@FrankAdler #13 托盘可以 go + fyne 来做,以前做过一个 go server + fyne 托盘的,
|
81
livin2 30 天前
17M=>2M 这个差距我寻思应该不是语言的问题了,是 GUI 框架... 用 winAPI 自绘吧。其次编译目标 32 位,内存占用自然也会小点...
|
82
jones2000 30 天前
c++ win32
|
83
hatsuyuki 30 天前
试试 Slint ,一开始就是为嵌入式设计的,占用极低,而且现代化 https://slint.dev/
|