火山视窗PC编译出来的dll和exe文件体积为何这么大?
火山视窗PC编译出来的dll和exe文件体积为何这么大?就写个标准输出(,"Hello world!")
编译后就有300K左右
同时看输入表还有很多用不上的dll库
有什么办法能缩小体积吗?
有什么办法能不要编译这么多用不上的dll导入表进去吗 ?
和界面库有关系。用mfc界面库更大4mb。
wtl小点,但是也接近400k。
另外火山自带的软件图标也有77k。
另外还有项目属性里面静态c++运行库,设置为真会打包一个静态库到程序里面。防止一些电脑没有运行环境。
当然不管是图标还是静态库都是小体积,最大的关系还是界面库的问题。。如果直接调用系统api来创建组件,体积非常小。。
同样的如果用qt来封界面库,一个空窗口可能就10m 。
创世魂 发表于 2023-1-17 16:21
和界面库有关系。用mfc界面库更大4mb。
wtl小点,但是也接近400k。
另外火山自带的软件图标也有77k。
问题是我创建的是命令行的控制台程序和dll呀 无窗口 无图标 你没有用,不代表火山基础库没有用。
完毕。
下一个问题。 对文件体积有要求的话可以考虑用批处理,如: echo hello,world! :) 那个极语言编译界面才几kb 编写的动态链接库与控制台要啥界面库?火山把一堆没有的东西都编译进去,不管你用不用到,是应该剥离出来了,同样用VS2019编写DLL与控制台只有十几KB非常小,窗口界面连图标只有一百多KB,去掉图标也就几十KB,也非常小,火山用WTL写窗口300多KB,去掉图标差不多200多KB还非常巨大,差不多是VS的10倍,把没用的应该剥离出来,不仅可以减少体积还不容易误报。 现在基本上和易语言区别不大,易语言核心库是必打包,
火山也没有多大区别, 有些东西不管你用不用得到, 都给你打包了.
也就成了所谓的垃圾代码了. 总体来说, 还是架构机制上不完善. 关注
页:
[1]