递归火山软件开发平台

标题: 内存解压问题 [打印本页]

作者: victorcq    时间: 2022-11-9 23:12
标题: 内存解压问题
本帖最后由 victorcq 于 2022-11-10 10:02 编辑

请问有那种解压文件不写到硬盘直接从内存获取并可以遍历压缩数据中文件的方法吗?

作者: emddid    时间: 2022-11-10 00:58
还可以哦
作者: urenai    时间: 2022-11-10 06:27
加油
作者: 创世魂    时间: 2022-11-10 08:46
你说的解压是解压数据还是解压文件。。

数据的压缩火山封了zlib
作者: victorcq    时间: 2022-11-10 10:01
只解压数据到内存,比如说压缩的一些图片资源包,不想把文件从硬盘读到内存在再解压到硬盘,然后再读到内存,这样没性能也没效率
作者: victorcq    时间: 2022-11-10 10:04
而且是压缩包里边很多文件那种,压缩包里边还带有不同的文件夹
作者: Xelloss0618    时间: 2022-11-10 10:06
可以使用PIV模块新封装的bit7z
可以实现7-zip九成的功能,支持解压几十种格式,内存压缩和解压自然也不在话下
就看你在不在意带一个7z.dll了你看一下里面的 存档压缩类 和 存档解压类

作者: victorcq    时间: 2022-11-10 10:58
Xelloss0618 发表于 2022-11-10 10:06
可以使用PIV模块新封装的bit7z
可以实现7-zip九成的功能,支持解压几十种格式,内存压缩和解压自然也不在话 ...

带个dll还好,请问这个模块在哪里?
作者: Xelloss0618    时间: 2022-11-10 11:15
victorcq 发表于 2022-11-10 10:58
带个dll还好,请问这个模块在哪里?

http://bbs.voldp.com/forum.php?mod=viewthread&tid=14913
作者: victorcq    时间: 2022-11-10 11:54
好的,谢谢,我看看去
作者: yhyzhj    时间: 2022-11-10 12:36
资源文件释放到内存,估计不行,必须是释放到硬盘
作者: Xelloss0618    时间: 2022-11-10 13:17
yhyzhj 发表于 2022-11-10 12:36
资源文件释放到内存,估计不行,必须是释放到硬盘

我上面提到的PIV模块可以,还有kyozy封装过的一个ZIP也可以内存解压,不过只能ZIP格式
作者: victorcq    时间: 2022-11-10 16:15
Xelloss0618 发表于 2022-11-10 11:15
http://bbs.voldp.com/forum.php?mod=viewthread&tid=14913

--- 开始编译项目"文件解压缩"(请不要在中途拔出加密狗):
编译生成对应的C++源文件到目录"D:\360极速浏览器下载\PIV模块例程_10-30\PIV模块例程\_int\文件解压缩\debug\x64\project\"成功 [双击可跳转]
正在链接生成目标文件"D:\360极速浏览器下载\PIV模块例程_10-30\PIV模块例程\_int\文件解压缩\debug\x64\linker\文件解压缩.exe"
所编译程序位数: 64; 所使用 VS 本地编译器版本: 16; 所使用 Windows SDK 版本: 10
正在进行本地编译和链接工作(如果是首次编译,由于需要初始化编译环境和相关缓存,速度稍慢是正常的)
错误: 使用所指定的本地编译器编译当前程序失败
<C:\Program Files\vol_dev\win_chs_person\plugins\vprj_win\classlib\user\piv\p_SevenZip.v>, 321: 错误:
    error C2653: “PivArchiveOperate”: 不是类或命名空间名称
    error C3861: “GetLib”: 找不到标识符
<C:\Program Files\vol_dev\win_chs_person\plugins\vprj_win\classlib\user\piv\p_SevenZip.v>, 982: 错误:
    error C2653: “PivArchiveOperate”: 不是类或命名空间名称
    error C3861: “GetLib”: 找不到标识符
<C:\Program Files\vol_dev\win_chs_person\plugins\vprj_win\classlib\user\piv\p_SevenZip.v>, 1040: 错误:
    error C2653: “PivArchiveOperate”: 不是类或命名空间名称
    error C3861: “GetLib”: 找不到标识符
    正在生成代码...
编译生成目标文件"D:\360极速浏览器下载\PIV模块例程_10-30\PIV模块例程\_int\文件解压缩\debug\x64\linker\文件解压缩.exe"失败
--- 项目"文件解压缩"编译或链接失败. 编译过程中共遇到了 0 个警告, 4 个错误.



---------------------------------------------------------------------------------------------------------------------------
10.04版的火山PC,要报错,C++ 我一点都不懂
作者: Xelloss0618    时间: 2022-11-10 16:55
victorcq 发表于 2022-11-10 16:15
--- 开始编译项目"文件解压缩"(请不要在中途拔出加密狗):
编译生成对应的C++源文件到目录"D:\360极速浏览 ...

呃,是我上一版打包了个错误的文件,下一版修复吧(大概今晚)。
你现在可以在「存档读写类」里加一个 @输出名 "PivArchiveOperate"
作者: victorcq    时间: 2022-11-10 19:12
好的哦,感谢,我一会儿试试
作者: victorcq    时间: 2022-11-30 05:49
Xelloss0618 发表于 2022-11-10 16:55
呃,是我上一版打包了个错误的文件,下一版修复吧(大概今晚)。
你现在可以在「存档读写类」里加一个 @输 ...

前端时间一直忙别的部分,今天才来得及用你的解压模块,实在是太好用了,性能根之前完全是不同的两个概念,非常非常非常感谢~~~~~~~~~~~~~~




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4