月经问题了,以下贴已读过但是没有找到合适的:
打算开个 Side Project 写着玩。准备趁机学点新东西,满足一下自己的软件洁癖……
对框架的需求主要有:
已经尝试过但不合适的有:
使用的语言无所谓,主流框架的基本多少会一点。
之前有 Flutter 和 Android 的开发经验,所以推荐 Flutter 就免了。这不是想学点新玩意吗😂
为刚进贴的朋友省流,补充一下各位已经提到的框架和优缺点(可能含个人暴论):
多嘴一句,以上没有轻视某个框架的意思,适合的就是最好的。
之前给某个省级项目做开发的时候,要求做移动客户端和网页端,工期给得很紧迫。因为熟悉 Flutter,立刻决定用 Flutter 一把梭全上了。了解 Flutter 的朋友应该知道 Flutter 的 Web 性能和兼容性和 React、Vue 等框架开发的原生 Web 应用相很拉垮,但那又如何呢?客户又不在意打开速度、白屏时间、软件体积和内存占用,都是统一安装到办公用机上的。按期交差了,他们开心我们也开心。
看到一些 V 友质疑我是「矫情病」「既要又要还要」「伪需求」,再多说两句。
需要明确的一点是,正如我上面所说的,这是个 Side Project,不是正经项目;我不是产品经理/外包方,各位也不是正在看需求的开发。对业余项目怎么想是自己的事,只要乐意一个人可以花几个月时间去学习 OpenGL 等底层图形库,写个渲染引擎、UI 框架,为什么无时无刻要抓着「市场需求」「开发效率」几个词不放呢?只不过在此基础上,希望找到一个偏好于以上各方面的权衡点罢了。
1
bunny189 2023-07-08 10:03:40 +08:00 1
其实 unity 是不是也可以写
|
2
timicoder 2023-07-08 10:05:01 +08:00
slint?前几天看到,还没去具体研究😁
|
3
murmur 2023-07-08 10:06:59 +08:00 1
ReactNative 分包,开插件按需加载还空屏?
|
4
gzf6 2023-07-08 10:12:24 +08:00
搞过 Android ,用这个上手比较快吧 https://www.jetbrains.com/zh-cn/lp/compose-multiplatform/
|
5
Magentaize 2023-07-08 10:12:56 +08:00 via iPhone 1
qt
|
6
duke807 2023-07-08 10:19:03 +08:00
wxwidgets
电子行业,特别是开源界,特别有名的一款画电路板的软件 kicad 就是用 wxwidgets 写的 使用系统原生 ui ( qt 不是系统原生 ui ) |
7
ql562482472 2023-07-08 10:22:06 +08:00
你说别的冷启动慢我本来还信了 直到我看到你说 JavaFX 冷启动慢 这个我真写过 然后我再看你上面说的感觉一点真实性都没有了
|
8
visli 2023-07-08 10:23:32 +08:00 2
那你只能把 Delphi 从棺材里唤起来,哈哈哈哈
|
9
everyx 2023-07-08 10:25:49 +08:00 2
[Avalonia UI]( https://avaloniaui.net/),知道它是因为用了 Lunacy ,应该是 Linux 下唯一原生的类 Figma 的图形设计工具了,强大
|
10
lisongeee 2023-07-08 10:26:59 +08:00
如果 Compose Multiplatform 后续支持编译到 kotlin native , 则打包的时候无需携带 jvm
|
11
w568w OP |
12
zero47 2023-07-08 10:39:15 +08:00
看到 OP 如此折腾还是没找到心仪的解决方案, 后端的我还是去啃 flutter 算了
|
13
w568w OP @zero47 #12 Flutter 确实是目前跨平台最优解。可惜小问题太多,GitHub 上的 issue 堆了不知道多少,每个版本都在猛做小修小补的工作
|
14
szzhiyang 2023-07-08 11:10:33 +08:00
wxWidgets
|
15
chinuno 2023-07-08 11:20:01 +08:00 via Android
桌面平台那你看看 imgui 怎么样,速度肯定比你列的其他框架快
|
16
hez2010 2023-07-08 11:27:53 +08:00 via Android 2
Avalonia 11.0: https://github.com/AvaloniaUI/Avalonia
文档: https://avaloniaui.net/GettingStarted 对于你说的条件全部满足,写完之后采用 NativeAOT 编译即可达到双击立即启动的水平,并且不需要携带运行时。不过注意其中 macOS arm64 架构的 NativeAOT 需要用 .NET 8 的 sdk 。 像 Unity 、JetBrains 、GitHub 之类的厂商也都在用 Avalonia 。 |
17
DTCPSS 2023-07-08 11:29:43 +08:00 2
Avalonia + AOT 编译
|
18
chendadaover 2023-07-08 11:44:51 +08:00
虽然但是, 楼主说的不就是 Flutter 吗? 各方面来讲的话, 我还没发现有能跟 Flutter 打的
|
19
dandycheung 2023-07-08 11:49:54 +08:00 via Android
我给你推荐个冷门一点的框架吧:JUCE 。
|
20
loading 2023-07-08 11:50:17 +08:00
Dephi ,确实厉害。
|
21
iorilu 2023-07-08 11:59:59 +08:00
正经点的就是 pyqt , 没有之一
|
22
ggvoking 2023-07-08 12:03:43 +08:00
qt 和 Avalonia
|
23
muhuan 2023-07-08 12:08:36 +08:00
整体上觉得 JavaFX 还可以,使用成本比较低,启动慢了些,携带 jre ,体积大了一些,不过还能接受;
slint 看着 nodejs cpp rust 都支持,没细看,主要看着还是 rust 为主 |
24
pepsiwant 2023-07-08 12:10:18 +08:00
为什么内存占用大算作缺点啊,或者说内存占用大是缺点的外在表现?
|
25
nikenidage1 2023-07-08 12:13:26 +08:00
|
26
flyqie 2023-07-08 12:18:34 +08:00 via Android
你说的不就是 qt 吗。。
|
27
IDAEngine 2023-07-08 12:18:49 +08:00
GTK4
|
28
makelove 2023-07-08 12:23:10 +08:00
delphi 还有个开源竟品,以前用过 delphi ,做做小东西很牛逼
https://www.lazarus-ide.org/ |
29
SenLief 2023-07-08 12:27:11 +08:00 via iPhone 1
不就是 c#
|
30
NormanGhost 2023-07-08 12:48:12 +08:00 via Android
qt😄
|
31
totoro52 2023-07-08 12:59:49 +08:00
delphi: 谁在敲我的棺材板
|
32
angrylid 2023-07-08 13:00:54 +08:00 via Android 1
恕我直言,你需要做的唯一一件事就是戒掉矫情病。
然后选择 Qt+CEF 或者 Electron |
33
Arctic2021 2023-07-08 13:02:19 +08:00
Qt + CPP ,楼上说得对:你需要做的唯一一件事就是戒掉矫情病。
|
34
mmdsun 2023-07-08 13:08:40 +08:00
|
35
chengxiao 2023-07-08 13:19:17 +08:00
@w568w 如果 Flutter 的小问题都算多的话,那其他的跨平台框架只会问题更多
要么 Flutter 要么 QT 吧 |
36
lujiaxing 2023-07-08 14:07:36 +08:00
你这需求属实相当极端了.
|
38
learningman 2023-07-08 14:38:24 +08:00
Qt 为啥不行
|
42
NoOneNoBody 2023-07-08 15:00:06 +08:00
好像除了 QT 都否决了?按这个思路,QT 理应也被否决才对啊
|
43
dcsuibian 2023-07-08 15:12:57 +08:00
React Native 只是给 Android 和 iOS 用的,毕竟原理上是编译成原生组件,平台越多问题越多
所以桌面平台一般没有 native ,还是 Electron 目前看来 Flutter 还是最有希望的,但现状确实比较拉 |
44
w568w OP 感谢以上各位的回复,V 友们太热情了
@chinuno 这个看文档的说法是 "is particularly suited to integration in game engines (for tooling), real-time 3D applications ... to create content creation tools and visualization tools (as opposed to UI for the average end-user)." 好像是用来做嵌入式 UI 的? @dandycheung 这好像是写声学应用的领域框架? @iorilu 能介绍一下性能怎么样吗? Python+Qt 的组合感觉不怎么正经 @pepsiwant 重点在后半句,速度接近原生。就一般经验来说,内存占用和速度成正比? @nikenidage1 哈哈确实没看到,已 star --- 感觉基于 C++ 的 Qt 、GTK 和 基于 C# 的 Avalonia 快成唯二解了? Delphi 好像半个身子入土了,slint 、wxwidgets 搂了一眼感觉功能性捉急…… |
46
missdeer 2023-07-08 16:19:22 +08:00
wxWidget 的运行速度更快,毕竟是真原生,但 API 跟 MFC 高度相似,就是上个世纪的风格,会觉得很落后难用。
Qt 运行速度比 wxWidget 肉眼可见的慢一丢丢,比如弹出菜单能明显感觉会比纯原生的迟滞一点点,但毕竟是 C++的,还是很快的,重点是它的 API 设计得很好,比 wxWidget 好一个时代,以及官方文档和示例非常好。 |
50
ysc3839 2023-07-08 16:42:50 +08:00
要原生跨平台的话,基本只有 React Native 了吧?不过不支持 Linux 。
|
51
ysc3839 2023-07-08 16:47:22 +08:00
如果只是要接近原生 GUI 框架的性能,Chromium 方案应该能满足的,Chrome Edge 启动速度都挺快的。
要求太多的话基本只能自己写了,因为功能多通用性强的话免不了要带上自己用不到的功能,体积就会大。 另外 Electron 和 CEF 没关系,Electron 是自己编译 Chromium 的。 |
52
DTCPSS 2023-07-08 16:52:21 +08:00
|
53
putaozhenhaochi 2023-07-08 17:00:12 +08:00 via iPhone
桌面版企业微信,钉钉用的 flutter ?
|
54
nong99 2023-07-08 17:17:43 +08:00 via iPhone 1
嗯…前端个人在想转桌面开发,观澜一圈~想从.net 入手,看着 C# Avalonia 作为入门目标了~ (都说 c++太难,不然都考虑 QT 了)
|
56
nong99 2023-07-08 17:30:56 +08:00 via iPhone
@tanranran 感谢🙏前端切换 Electron 确实成本最平滑~ 之前也是用其开发过一个站外包业务桌面软件!确实考虑深入优化成本、同时也私心想多学一门语言~可拓展性范围大些哈
|
57
kingfalse 2023-07-08 17:40:26 +08:00 via Android
Java 系的话要原生就 swt ,linux ,mac ,Windows 都支持,eclipse 就是用 swt 开发的
|
59
iorilu 2023-07-08 17:58:07 +08:00
|
60
documentzhangx66 2023-07-08 20:43:40 +08:00
等你开发经验 10 年以上了,你才会明白,内存占用大,是优点。
|
61
wxf666 2023-07-08 20:48:15 +08:00
@DTCPSS #52 感谢指路。
体验了几个应用,感觉就像是 Win11 风格的应用。 另外,体积、内存、CPU 等资源消耗都变大了。比如(内存占用是刚开启的起步占用): - 一个丑丑的播放器,体积 40MB ,内存占用 100MB+。 - 一个搜索软件,体积 160MB ,内存占用 200MB+。(应该没索引文件,因为搜索不到) - 一个歌词软件,体积 460MB ,内存占用 100MB+ - 一个 UI 设计软件?体积 160MB ,内存占用 1GB+ 感觉和用 Electron 应用差不多,笨重、软绵绵、不跟手 |
62
renmu 2023-07-08 21:06:08 +08:00 via Android
如果有,那么已经占领生态了,为什么现在主流还是 electron 呢
|
63
mineralsalt 2023-07-08 21:24:14 +08:00
javafx 我真认真研究过, 用 GraalVM 可以编译成原生的程序, 内存占用可以降低到几十兆, 冷启动速度极快, 我曾用 java 开发了一个类似 Bob 的软件, 常驻后台无压力, 喜欢 java 的程序员真可以认真琢磨琢磨, 就像你列举的这些, 跨平台都有各种的问题, javafx 还是一个不错的选择
|
64
hez2010 2023-07-08 22:44:26 +08:00 via Android 1
@wxf666 体积主要取决于开发者发布时有没有做代码裁减,默认不开,开了之后成品一般在 30mb 往上,不开的话 100mb 往上。
由于是 gpu 加速渲染,渲染后端走的 angle ,内存占用确实是 100mb+。如果关掉 gpu 渲染走软件渲染的话内存占用就只会有 30mb 左右。 至于那个 ui 设计软件,他们在内存里载入了自己的素材库和本地 ai 模型来辅助设计,内存占用自然比较大。 不过也没什么可说的,Avalonia 的体积就是 30mb 起步,启用 angle 后端做硬件加速渲染内存占用 100mb 起步,仅使用软件渲染内存占用 30mb 起步。 这里放两个拿 Avalonia 写的仿 vscode 的全功能代码编辑器,自带多种主题和多语言的代码高亮,一个是开启 gpu 渲染的 angle 版本,一个是采用软件渲染的 software 版本,并且采用了 nativeaot 编译,你可以试试: gpu 加速渲染: https://1drv.ms/u/s!ApWNk8G_rszRgrZ47r4LrTUlPupSRA?e=XcbR18 软件渲染: https://1drv.ms/u/s!ApWNk8G_rszRgrZ5LOnqPDLtcKyrqA?e=C4AP86 |
65
lujiaxing 2023-07-08 23:05:13 +08:00
@renmu 因为研发成本, 招聘难度.
要知道 C# 和 C++ 招聘难度比前端大了一到两个量级. 哪个项目经理也不想项目开始一个月连人都招不齐吧?? 至于体积, 执行效率, 根本就不是项目经理会考虑的问题. 毕竟用户又不会交钱, 更何况现在的个人计算机哪个不是 16GB 内存起步? |
66
ysn2233 2023-07-09 00:18:13 +08:00
@mineralsalt 网上有相关的文章可以借鉴么?
|
67
saybyetoGFW 2023-07-09 00:29:16 +08:00 via Android
吃着包子。想到了既要又要还要,只能烂尾喽。开发工作,跟随主流 electron,tauri,react native 都行
|
68
kkwa56188 2023-07-09 00:49:42 +08:00
QT . 很成熟的东西了, 就怕门槛高 你进不去.
暴雪的 游戏启动器就是用 QT 做的. |
69
mineralsalt 2023-07-09 01:49:49 +08:00
@ysn2233 #66 很多啊, 搜搜就是了
|
70
mingl0280 2023-07-09 07:59:44 +08:00
Qt 啊……
|
71
acctv2 2023-07-09 08:40:57 +08:00
要求原生级性能,你的应用是密集计算还是密集 IO ,还是有极其复杂的 UI ?都不是为什么要高性能框架。
要求跨平台使用,你现在需要跨哪些平台?这个应用一定需要跨平台使用吗? 你否掉了那么多技术栈,我只能说:你有很多伪需求 |
72
shyangs 2023-07-09 09:26:10 +08:00
@documentzhangx66
超出時代的記憶體佔用,會讓產品死去,比如 Windows Vista. 開發經驗十年了,不能只站在開發者角度,只在意開發者體驗,在中國不轉管理職,為自己增加管理行銷推廣技能,很可能觸及開發年齡上限,而被裁員. |
73
chrawsl 2023-07-09 09:47:02 +08:00
MAUI 不错,这两天在用这个玩意写安卓
|
74
SaltyKitkat 2023-07-09 11:14:04 +08:00
@documentzhangx66 解释一下?
|
75
WebKit 2023-07-09 11:43:19 +08:00 via Android
新东西,Kotlin 的 KMM😂
|
76
FucGreatFireWall 2023-07-09 14:01:14 +08:00
Unity 写软件好用吗
|
78
wxf666 2023-07-09 14:38:53 +08:00
@hez2010 #64 试了下:
| 应用 | 内存占用(启动后,最大化窗口为 1080P ,静置至稳定) | 内存占用(打开 sqlite3.c ,8MB ,25W 行,静置至稳定) | | :-----------------: | :-----------------------------------------------: | :-------------------------------------------------: | | Typora | 130 MB | | | Clash For Windows | 110 MB | | | Visual Studio Code | 250 MB | 450 MB | | EditorDemo-Angle | 70 MB | 500 MB | | EditorDemo-Software | 50 MB | 460 MB | | Notepad--( QT5 ) | 15 MB | 35 MB | | Notepad Next ( QT6 ) | 20 MB | 40 MB | | QtCreator ( QT6 ) | 70 MB | 420 MB | 感觉内存占用差不多和 Electron 应用看齐。 论高效省资源,应该还得是 QT 应用。 |
79
cest 2023-07-09 14:42:30 +08:00
有哪个能处理好 hdr ?
|
80
Dynesshely 2023-07-09 14:57:04 +08:00 1
推荐:
1. Avalonia UI, 你将使用 C# + XAML 编写后台逻辑与界面, 使用 AOT 编译可以得到几乎原生的性能, 不使用 AOT 时体积可能达到几十 MB 的水平, 若要使用 AOT, 您需要至少 .Net 7, 且 Avalonia 11.0 + 2. Egui, 你将使用 rust 编写界面代码与逻辑代码, 极其轻量化但属于即时模式的 UI 框架 3. Flutter, 你将使用 dart 语言编写界面代码与逻辑代码, 可以达到近乎原生的性能, 也可以做到较优秀的体积水平, 缺点是, 在 win 平台上编译到 win32 似乎存在问题, 目前官方建议上架到 microsoft store |
81
documentzhangx66 2023-07-09 16:18:20 +08:00
|
82
documentzhangx66 2023-07-09 16:21:11 +08:00
@SaltyKitkat
什么最宝贵?时间。 功能全面的框架,必然会浪费大量内存与硬盘存储。比如 VS 这款 IDE ,早起从编码、代码提示、多屏开发、调试、查性能瓶颈等等,ALL IN ONE ,非常方便。但它块头大,启动后也占用很多内存。 内存与硬盘值钱,还是程序员的时间更值钱? |
83
hez2010 2023-07-09 16:30:57 +08:00 via Android
@wxf666 我的 tokenizer 没做虚拟化,你粘贴的代码文本是一次性全部进行高亮处理保存在内存里的,而不是只处理显示出来的那些代码。如果你想公平比较的话,建议只贴正好占一个窗口那么多的代码量。
|
84
wxf666 2023-07-09 16:35:51 +08:00
@documentzhangx66 #82 那么,那些号称体积小、占用内存小、性能接近原生的框架,发展方向错了?
比如,一个文本编辑器,应该大力宣传: - 安装包 1GB+,但功能全面 - 内存占用 10GB+,但功能全面 - 运行较慢,但功能全面 ? 另外,以后都 GPT 自动生成代码了,程序员的时间不值钱了 隔壁不是有个说,1 元钱,能自动生成全套包含产品文档、架构设计、代码的完整 repo 了么 |
85
wxf666 2023-07-09 17:31:03 +08:00
@hez2010 #83 没有吧。。
vscode 右边的缩略图全部都染色了(刚打开文件,要等几秒钟才染色。之后随便疯狂拖滚动条都没事了)。 Notepad++ 的话,第一次滚动到文件末尾,确实卡了七八秒。但之后就能随便疯狂拖滚动条了。 Notepad--、Notepad Next 、QtCreator ,随便疯狂拖滚动条也没事,甚至还有层次折叠。 如果每次都只处理显示出来的代码,那怎么知道是不是在 /* */ 注释里呢?甚至还知道在哪个层次里,该层次有没有被折叠。。 另外,我发现 Notepad-- 甚至会解析 #ifdef 之类的宏块,未定义的块甚至会暗淡。。 如果在开头写个 #ifdef abcdefg ,结尾写个 #else /* else */ #endif ,那么就只有这四行深色,其他 25W 行都是浅色。。 好吧,所有应用都缓慢拖动滚动条,从顶至底,又回到顶部,反复十次。 尽量确保每一处代码都分析完毕并渲染过后,再测量内存: | 应用 | 内存(最大化,反复缓慢拖动滚动条至两端十次,再静置至稳定) | | :-----------------: | :--------------------------------------------------------: | | Visual Studio Code | 510 MB | | EditorDemo-Angle | 800 MB | | EditorDemo-Software | 720 MB | | Notepad++ | 30 MB | | Notepad-- | 40 MB | | Notepad Next | 50 MB | | QtCreator | 440 MB | 不知为啥,你的内存占用还膨胀了。。 按理说,已经预先缓存所有高亮代码了,后面应该不会再涨内存了?(就像其他 5 个应用一样) |
86
hez2010 2023-07-09 17:48:53 +08:00 via Android
@wxf666 估计哪里的内存没释放吧,其实你反复切换语言内存也会一直往上涨不会往下掉,这得跑 memory profiler 才能知道原因,数据结构好好设计一下的话是可以做的内存占用几乎维持刚启动时占用不变的,不过这是个随便写的 demo 无所谓了。
Avalonia 的话有个 80mb 左右的常数内存占用,再往上就看代码的算法和数据结构了,和框架本身关系倒不是很大。 notepad 那俩毕竟是下了大功夫优化了占用的 app 。 |
87
wxf666 2023-07-09 18:20:41 +08:00
@hez2010 #86 其实也没太大所谓了。
首先,这几个编辑器里,确实也就 你的 和 vscode 好看些。赏心悦目嘛,自然要付出些代价。 而且,以后内存越来越便宜,多占点少占点也差不太多。 主要是我现在的笔电,内存是焊死的,加不了内存,我才比较在意。以后换电脑后,也就无关紧要了。 另外,这个也是未来的趋势,连微软都用 WebView2 来写一堆自带应用了。。 你的再加点点功能,当个日用编辑器也挺好的: - 启动比 vscode 快 - 比其他编辑器好看 - 几十万行文本处理也不慢(至少比 Notepad++ 卡七八秒快),占用内存也可接受(几百 MB ) 总之,技术也挺厉害的了,写的 demo 差不多也算是成品了 |
88
documentzhangx66 2023-07-09 18:23:47 +08:00
@wxf666
发展方向,并没有对错。当初 FC 在被编码时,各种优雅的实现方式,那已经不是编程,而是一件件艺术品。 但是,如果每一个计算机软件项目,都想做成艺术品,那么像 QQ 这种级别的软件,也许等我们老了,也做不出来,因为工程量太大了。 所以,我们应该考虑,根据项目实际需求出发,在经济与时间能够确保项目不失败的前提下,先把需求都实现了,然后再进行体积的压缩、减少内存占用。这样既能保证产业的发展与延续,又能实现你们自己对体积、内存使用量的追求。 最后,GPT 现阶段的确能够做出一些学生级别的作品。但如果你参与过正规大型工程项目,GPT 这种连测试都还要专门去提醒才会去实现,目前阶段是没办法抢了专业程序员的饭碗。不过我相信它未来还是会更强大的,但到了那个阶段,楼主的问题,很可能会发生变化。 |
89
yangxin0 2023-07-09 19:15:47 +08:00
我觉得下一个时代一定是 webgpu + h5 + electron
|
90
yangxin0 2023-07-09 19:16:17 +08:00
figma 打好了样,webgpu 1.0 才正式到来。
|
91
lyping 2023-07-09 20:19:31 +08:00
为什么都不提 QT?
|
92
songray 2023-07-09 20:27:36 +08:00
真有这好东西的话, 原生方案早就死绝了.
|
93
soap520 2023-07-09 23:12:33 +08:00
godot
|
94
SolarHurricane 2023-07-09 23:22:43 +08:00 via iPhone
SDL2 有了解过吗
|
95
nine 2023-07-10 00:38:24 +08:00
看到都说 Delphi 要进棺材了,那我就可以放心用了。
|
96
chinuno 2023-07-10 08:01:20 +08:00 via Android
@w568w 还没见过把 imgui 用在嵌入式上的。文档想说的大概是因为是立即模式的 GUI 所以可以很方便的就集成到游戏里做调试 ui 用。但是除此之外也能用来写单独的 gui 软件,他的 github 页面上就列了不少用 imgui 写的工具
|
97
holulu 2023-07-10 08:40:33 +08:00
https://platform.uno/
|
98
wildlynx 2023-07-10 08:52:36 +08:00 via iPhone
用 gtk 那些人开发的 Vala 语言开发 GTK 感觉如何?
|
99
lanten 2023-07-10 10:44:09 +08:00
目前也没有哪个 ui 描述方案能比 html 更高效,灵活性和开发体验没得说,缺点是开销大。如果你的应用需要常驻内存,但不需要频繁的 gui 交互,tauri 是个不错的选择,浏览器窗口用完即毁,在不打开 webview2 的情况下,主进程内存占用通常不超过 10M
|
100
jones2000 2023-07-10 10:44:32 +08:00
能力差就用浏览器套壳 h5 。
能力强的选 c++ 和 object-c, 了解下每个平台的画布接口,基本都差不多 , 找几个开源的, 自己需要什么控件,直接代码拷过来不就可以了, 需要什么就拷什么, 这样编译出来的执行文件小,内存占的也小。 |