精易论坛
标题:
【首发】让你的易程序和图片资源实现“参变分离”
[打印本页]
作者:
1185384801
时间:
2020-11-25 15:14
标题:
【首发】让你的易程序和图片资源实现“参变分离”
前言:
是否有易友出现过下列情况:
源码中放置大量的资源文件,严重拖慢易文件打开速度。
源码出现损坏,而且源码中有大量的资源文件,导致源码极大,修复极度困难,甚至无法修复。
源码附带资源文件多,体积集中于一个核心源码文件中,非常不轻量化。
如果你有本程序的话,那么你就不用担心以上内容了!
正文:
本程序只是一个宏,不会再你的代码中增加任何多余代码,而是将图片/常量等数据和主程序分离,编译时重新打包为一个文件,效果图如下(注:图中的“Macro”指令就是核心库中的指令:“宏”,这是一个编译前命令):
,
工作原理:
首先“宏”命令在编译时会引用外部的Dll(此处我编写了一个SourcePlugin.dll)
然后,编译器会调用SourcePlugin.dll中的“MacroProcessor”接口,“MacroProcessor”接口将会接收编译器传来的处理数据,告诉SourcePlugin.dll应该引用哪些数据。
接着,SourcePlugin.dll利用易源码解析,读出指定易文件的常量表,并根据源码需要整合到程序中。
优点:
该操作似乎把易程序携带文件变得复杂了起来,但是实际上不然,它有以下好处:
首先,如果你要携带大量的资源文件的话,该方法可以大幅度减小主程序的大小,使得主程序更加轻量化。
其次,本宏支持直接引用外部文件作为资源,极大地方便了编程和文件携带(如果你要备份的话,只需要备份一次资源文件,以后只需要备份主程序代码即可。)
然后,SourcePlugin.dll利用易源码解析,可以直接引用外部易程序中的资源文件,减少了储存空间的浪费(如果你要传云盘的话)
最后,本程序还可以直接应用到易模块中,以后就不用搞得一个模块十多MB的了,只需要一个100多KB的SourcePlugin.dll,主模块,携带资源的易文件即可,更新模块只需更新主模块(只要不修改资源文件)
缺点:
SourcePlugin.dll使用了易源码解析,在编译时需要把携带资源的易文件加载到内存,对于大文件可能会导致易程序无法分配到足够的内存导致程序崩溃,所以对于处理较大的资源文件时,最好先保存你的程序。
SourcePlugin.dll使用的易源码解析在解析很大的易文件时可能导致降低编译速度,不过,我已经大幅度精简了分析部分的源码,保证基本不影响编译速度。
PS:
使用或参考本程序前,请先将“宏插件_源码.e”编译为“SourcePlugin.dll”放到“e\plugins”文件夹下,本帖不接受什么缺少文件的反馈。
本程序虽然代码行相对简洁,但是还是凝结着我的一些思考,如果你觉得可以的话,请:
附件下载:
[hide=d1111]
宏-”参变分离“.zip
(49.81 KB, 下载次数: 303)
2020-11-25 15:13 上传
点击文件名下载附件
下载积分: 精币 -2 枚
[/hide]
作者:
火威网络
时间:
2020-11-25 15:26
我来顶贴
作者:
Ruter
时间:
2020-11-25 15:32
支持开源,感谢分享
作者:
515889127
时间:
2020-11-25 15:33
感谢分享。。
作者:
国王软件
时间:
2020-11-25 15:35
支持一波,下载看看!
作者:
wjswzj0
时间:
2020-11-25 15:38
感谢分享,很给力!~
作者:
daduke7902
时间:
2020-11-25 15:55
这个就厉害了啊
作者:
woshipqj
时间:
2020-11-25 15:56
感谢分享,很给力!~
作者:
shinid8210
时间:
2020-11-25 15:59
厉害 支持
作者:
京东这
时间:
2020-11-25 16:12
感谢分享,很给力!~
作者:
峰生水起之林
时间:
2020-11-25 16:20
感谢分享,很给力
作者:
350246356
时间:
2020-11-25 16:38
感谢分享,很给力!~
作者:
sinewtec
时间:
2020-11-25 16:47
感谢分享,很给力!~
作者:
sxaxin
时间:
2020-11-25 16:52
这个有点意思.
作者:
lam888
时间:
2020-11-25 17:10
这个有点意思
作者:
wlijun
时间:
2020-11-25 17:14
这个有点意思
作者:
jr21066
时间:
2020-11-25 17:31
学习中...
作者:
南方填表
时间:
2020-11-25 17:47
正好需要 ,看看6666666
作者:
深爱者
时间:
2020-11-25 18:46
学习中...
作者:
fyh505099
时间:
2020-11-25 19:12
谢谢大佬分享 听起来是个好东西 先收藏
作者:
格视化
时间:
2020-11-25 19:14
厉害了。学习一下。
作者:
1aa82e
时间:
2020-11-25 19:18
好像很厉害的样子
作者:
傻妞
时间:
2020-11-25 19:41
不错..很不错
作者:
网络注册络员
时间:
2020-11-25 20:00
学习学习
作者:
michardhl
时间:
2020-11-25 20:11
好厉害的样子
作者:
hmyroot
时间:
2020-11-25 20:23
支持大佬
作者:
‖陌颜の小溪"
时间:
2020-11-25 20:24
66666666666666
作者:
小熊君
时间:
2020-11-25 20:35
收藏一下~以后用得到
作者:
CanK
时间:
2020-11-25 21:17
收藏一下~以后用得到
作者:
汉族
时间:
2020-11-25 21:25
大佬又发新作品了
作者:
元老
时间:
2020-11-25 21:32
大佬又发新作品了
作者:
snufgpl
时间:
2020-11-25 22:13
大佬又发新作品了
作者:
该死dē蚊子
时间:
2020-11-25 22:20
感谢分享。
作者:
283688410
时间:
2020-11-25 23:14
谢谢楼主分享
作者:
oycs429
时间:
2020-11-25 23:25
让 江小白 来看看帖子里藏了啥好东西~~~
作者:
feimu2005
时间:
2020-11-26 00:01
感谢分享,很给力!~
作者:
gaoqing
时间:
2020-11-26 00:03
这个不错!
作者:
cosset
时间:
2020-11-26 00:27
支持开源~!感谢分享
作者:
Kalen
时间:
2020-11-26 00:56
支持开源~!感谢分享
作者:
110356776
时间:
2020-11-26 03:17
这东西找了好久勒,谢谢!!
作者:
杨明煜
时间:
2020-11-26 08:16
思路清晰,值得学习............
作者:
vSpear
时间:
2020-11-26 08:22
藏起来的小尾巴,不让你看!
作者:
你来我深情不拥
时间:
2020-11-26 08:42
我来看看什么意思
作者:
就是那个秋
时间:
2020-11-26 08:48
什么超级啊,也不过是个用户罢了
作者:
maimaxin
时间:
2020-11-26 09:31
看看………………………………
作者:
By平凡
时间:
2020-11-26 09:39
看看是不是理想中的样子。
作者:
伤小磊
时间:
2020-11-26 09:40
支持
作者:
KEN
时间:
2020-11-26 09:59
新技能已get√
作者:
kike
时间:
2020-11-26 10:16
了不起!
作者:
SoloCat
时间:
2020-11-26 11:55
作者:
cccaaa123
时间:
2020-11-26 12:00
学习一下
作者:
安哥
时间:
2020-11-26 12:41
学习一下
作者:
咔咔云
时间:
2020-11-26 13:33
很好很强悍,坚持下去哦~
作者:
qgchqgch89
时间:
2020-11-26 13:35
来看看这个高级东西
作者:
uyhj
时间:
2020-11-26 13:53
高级货,感谢分享
作者:
luonia
时间:
2020-11-26 17:04
支持开源~!感谢分享
作者:
摆脱欲望l
时间:
2020-11-26 17:37
这个必须支持啊!
作者:
a1185963755
时间:
2020-11-26 18:46
6666666666666666
作者:
阿仁同学
时间:
2020-11-26 18:56
感谢分享,很给力
作者:
poffen
时间:
2020-11-26 19:12
这个必须支持啊!
作者:
wbphs
时间:
2020-11-26 19:34
学习一下代码
作者:
wkn20051123
时间:
2020-11-26 20:16
感谢分享,支持开源
作者:
登峰望岳
时间:
2020-11-26 20:39
感谢分享,很给力!~
作者:
最帅
时间:
2020-11-26 21:22
非常喜欢,回复了再说.
作者:
yyjpcx
时间:
2020-11-26 21:59
一般做法是直接做在DLL文件中
作者:
追忆帝
时间:
2020-11-26 22:00
支持一下大佬~~
作者:
AnxiangLemon
时间:
2020-11-26 22:28
大哥还是牛逼的
作者:
dzscuz
时间:
2020-11-26 22:43
看看,学学,支持楼主开源
作者:
das6836660
时间:
2020-11-26 22:55
学习一下啊
作者:
木小果
时间:
2020-11-26 23:34
#在这里快速回复#很好很强悍,坚持下去哦~
作者:
枫眼
时间:
2020-11-27 04:24
十分感谢分享
[2020开源大赛(第五届)]
[分享源码]
【首发】让你的易程序和图片资源实现“参变分离”
作者:
韦贝贝
时间:
2020-11-27 07:55
支持开源!
作者:
shezenghai
时间:
2020-11-27 08:24
66666,牛逼大佬
作者:
samxiyuan
时间:
2020-11-27 09:34
谢谢楼主了,下来试试
作者:
风中冰雨
时间:
2020-11-27 11:16
看看。。。。。。。
作者:
hljtlwx
时间:
2020-11-27 11:41
谢谢楼主。支持。学习
作者:
列明
时间:
2020-11-27 13:09
對於引入的圖片二進制資源,會脫離出去麽?
作者:
shuaier
时间:
2020-11-27 13:52
很好很强悍,坚持下去哦~
作者:
zhishiguai
时间:
2020-11-27 16:30
厉害
作者:
喵帕斯和艾希
时间:
2020-11-27 20:15
感谢楼主的分享
作者:
whoareyou
时间:
2020-11-27 22:13
很好很强悍,坚持下去哦~
作者:
ノ朽默℡
时间:
2020-11-28 01:43
顶楼主啦..希望楼主多发精品好帖啦.....
作者:
阳明先生
时间:
2020-11-28 03:55
让你的易程序和图片资源
作者:
晓风残月梦微凉
时间:
2020-11-28 14:27
新技能已get√
作者:
cm850418130
时间:
2020-11-28 17:41
大佬真牛逼
作者:
me19870417
时间:
2020-11-29 07:10
学习学习学习
作者:
onlyboy
时间:
2020-11-29 13:53
学习学习学习学习11
作者:
545805932
时间:
2020-11-29 20:16
看看看看看看
作者:
广二爷xxoo
时间:
2020-11-29 20:42
下载研究研究
作者:
18583687285
时间:
2020-11-30 00:06
作者:
a5661333
时间:
2020-11-30 01:49
支持开源!
作者:
宁氏
时间:
2020-11-30 02:46
大神真是太多了../`
作者:
heli135
时间:
2020-11-30 09:36
好很强悍,坚持下去哦
作者:
大地软件
时间:
2020-11-30 12:02
支持开源!
作者:
JerryYan
时间:
2020-11-30 12:36
很好很强悍,坚持下去哦~
作者:
浩瀚网络_博涵
时间:
2020-11-30 19:40
666666666666666666666666666666666
作者:
司徒西
时间:
2020-11-30 19:58
支持开源!
作者:
byjimo
时间:
2020-11-30 20:16
看看是什么东西
作者:
徐良L
时间:
2020-11-30 20:19
新技能已get√
作者:
a6546
时间:
2020-11-30 20:29
支持一下,看看是什么
欢迎光临 精易论坛 (https://125.confly.eu.org/)
Powered by Discuz! X3.4