关于现在的图形界面库打包exe的体积

原来不止我一个人有这种问题啊,,命令行的程序和带UI的程序简直一个天上一个地下,看到别人几KB和程序真的是边羡慕边喊大佬

1 个赞

c#需要框架

你可以用Windows基本自带的.netfarmework 4框架,win7都自带…

学校的部分电脑是老古董,大部分电脑是正版win10,但部分不连网的实验室和教师机子上是破解版的精简版win7,不指望了……

1 个赞

建议用最古老的MFC,简单界面开发也不慢,兼容性也相对好一些,生成的程序也很小。

1 个赞

c# 小的原因是 windows 自带了 dotnet framework,但因为各个 windows 版本自带的 dotnet 版本各不一样,所以你用高版本 c# 写的 app,布署的时候一样得带上 dotnet 安装包。那个也是巨大。

pyqt 打包后巨大是因为里面同时包含了 Qt 和 Python 的基础库。所以有两个方案:

  1. 用 python 的 pywin32/ctypes 调用 win32api 写程序。非常小,但是需要研究远古的 windows 编程,比纯用 c 简单,但还是很难。打包后正常是 10M 左右。
  2. 用 c++ 版的 qt 写应用。需要学习 c++,也是比较难。我现在用的就是这一套。打包的应用一般就 5MB 左右,解压出来 20M.

在我看来,安装包大小的伪需求。现在网速这么快。小于 100m 的软件安装包,大家都不会有什么感觉。手机 app 都已经搞到 1 个 g 以上了,第一次运行时还要下载剩余内容,非常蛋疼。

告诉你一个事情,我们学校的电脑里面全是病毒,不敢插u盘,并且前面的usb口炸了,想插也插不了。然后网速很慢,电脑超级卡,打开一个30m的ppt直接卡重启了,没有qq,要用需要先下载…………(自动恢复的那种,每次都要现用现下载,如果时间实在来不及,我会抱着牺牲一个u盘的决心用u盘插主机后面的接口……事后用完回宿舍直接进pe格式化u盘………之前一个不注意直接插了u盘然后整个电脑下载了8个贪玩蓝月,一个小鸟壁纸,一堆别的东西是使我记忆犹新)

这时候尤其能体现出安装包大小的重要性。

如果只考虑win平台(exe应该就是win下),delphi7是最适合的:
体积小,运行快,开发也快。
一般的gui程序小几百K就行了。
只是公司采用它的很少了

1 个赞

如果是这种远古编程语言的话,还可以用 vb6, 它的 runtime 集成在 win2k 以后所有的 windows 里面。不过还是那句话,程序的大小放现在已经不是大问题了。

你这个问题是核心是电脑有病毒,而不是下载慢。我有个很简单的办法你试试,把 u 盘格式化成 ntfs 格式,然后在我的电脑里面就能看到“安全”这个选项页了。(U 盘可能需要借助第三方软件,比如我是用 linux 格式化,移动硬盘不用)。可以这样设置:

所有人只读
拥有者完全控制

并且设置拥有者是你自己,不要是默认的管理员。

因为每台电脑的用户 UUID 都不一样嘛。所以你这个 U 盘无论拿到哪台电脑,都会变成只读的。只有在你的电脑上面可以修改。这样就再也不怕被传染 U 盘病毒木马了。

另外你要记得把自己的插入 U 盘就自动运行的功能关掉。这个怎么关就不用我说了吧,网上很多文章。

2 个赞

200K(压缩后100K)的事情,变成需要400M(压缩后80M)
还是太离谱了

1 个赞

有啥离谱的。最简单的 electron 代码,在你的桌面上面显示 hello, world!,打包下来包含一个浏览器才能运行,好几十兆。打包之前就一行代码,不到 1kb.

还有 python 写的 AI 脚本,打包之前就一个文件 4kb 不到。打包之后带 cuda, pytorth 一夶堆。

现在 2tb 的 SSD 已经不到 500 块钱了,家庭也普及了千兆网络。还在追求小体积的应用程序不过是老古董的精神洁癖罢了——对,说的就是我自己——但我自己知道这是一个伪需求,不应对软件作者有这种不正常的期待,不能用软件体积来评判软件的质量。

1 个赞

软件体积不断飙升,再加上默认安C盘又不给用户选择安装位置的歪风,如果像我一样用着缺乏拓展性的笔记本,装系统时又没有预留足够的C盘空间,就会非常蛋疼

:upside_down_face:你有没没有考虑这些软件, 占的不止是硬盘, 让它们运行起来, 还得有内存, 每个软件后台开个浏览器?:sweat_smile:
与其做浏览器套壳, 干脆别做客户端, 做成网页得了, (反正"家庭也普及了千兆网络")
另外, 我就不信他们补漏洞比Google还快, 直接更新浏览器多安全.
不能唯一用软件体积来评判软件的质量 和 不能用软件体积来评判软件的质量 还是得区分的.

2 个赞

说的很好,但是很多本地的东西例如加解密运算啥的依靠浏览器再做接口实在不好办……还得是本地程序。

0.0 夶㹜 神奇

个人建议啊, 如果要学习编程, 是不推荐易语言的. 跟是否国产或中文无关.

适合开发的语言和适合教学的语言并不是一回事.

学会一门语言通常是一通百通的, 所以学习语言, 要学习编程规范相对严谨一些的. 比如 JAVA.

核心用dll,gui用浏览器,只需要一个基础的web服务器加业务处理封装。这东西,可以足够小了。而且web的ui兼容性肯定比本地的ui要好,毕竟浏览器是台机器就得有。这么划分,也便于分工合作。

这个也不能一概而论,关键是要看,学习编程的目的是什么。
专业的人看易语言不顺眼,总觉得它这么差那么low,但如果只是学习用来快速解决一些身边小问题,@CCR 说的一点都没错,绝对是中国人最好上手的编程语言!几乎没有入门门槛,入门时间几乎以小时计,学习几天就能写小应用程序绝不夸张。
这可以用什么类比一下呢?大概就是你参加一个社会业余拳击班,想凭这个去打奥运会世界杯肯定是不行,但学个三五年出来,普通人之间推推搡搡的你肯定是不怕了。大概就是这个意思吧。

另外,全世界编程语言大概有几百种?上千种?中国人习惯用的编程语言有多少种?每种都有多少用户?c++多少用户?python多少有用户?java多少用户?易语言有多少用户?能作为一个“现象级”编程语言被很多专家听说过还拿出来专门批评的编程语言有几种?

科学计算的软件基本上都是 pyqt 做的。而且 pyqt 本身也是非常好的专业 GUI 开发工具。

现在体积小的主流 GUI 方案只有 qt/mfc/wtl/delphi 少数几个,都是开发效率低入门门槛高的方案。有些人甚至认为 qt 也是体积庞大。如果还坚持一定要小体积,你们会发现很多好软件自己没法用。

1 个赞

对electron实在无语,硬盘确实便宜了,但是这货不止占硬盘啊,还吃内存,还吃CPU,有时还吃GPU,就没有它不吃的。

1 个赞