Skip to content

将资源文件处理成二进制文件并提供读取

License

Notifications You must be signed in to change notification settings

cardinaldevgroup/AdenPackage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

AdenPackage 简介

AdenPackage 是一个可以所有文件的二进制数据读取进内存的库

AdenPackage 分为 DEBUG模式RELEASE模式

该模式由 AdenPackage.h 中的 _ADEN_PACKAGE_DEBUG_ 宏开关控制

AdenPackage 生成的包后缀名为 .apf

  • DEBUG 模式

    • 从源文件处读取数据并返回,方便调试
    • 读取同时将数据存入包内,不需要额外的打包操作
  • RELEASE 模式

    • 读取数据包,根据其内容构建一张哈希表
    • 直接返回哈希表中的值,速度较 DEBUG模式 快得多

AdenPackage 用法

首先,你需要定义一个 AdenPackageFile 对象,

AdenPackage 以每个包作为一个对象,你需要告诉它包的名字。

#include "AdenPackage.h"
int main()
{
    AdenPackageFile test("test");
}

这个函数会在当前目录下生成一个名为 test.apf 的包

读入的所有数据的生命周期和这个包一样,在包被析构后数据也会被析构

接下来你只需要加载某个路径下的文件即可:

    AdenData* pData = test.LoadResource("test.png");

pData 里面便储存了我们想要的二进制数据

struct AdenData
{
	size_t length;
	char* data;
};

length便储存了数据的长度,data则储存了数据的内容

当你调试完成后,直接进入 AdenPackage.h#define _ADEN_PACKAGE_DEBUG_ 注释掉,

将 .apf 和程序一起发布即可

注意,由于 RELEASE模式 下定义 AdenPackageFile对象 伴随着构建哈希表

所以这个过程会非常缓慢,应该考虑将其放入另外一个线程中运行

--by hsz 2021.10.18

About

将资源文件处理成二进制文件并提供读取

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages