Bin2C C++嵌入式资源打包技巧

bin 文件的 C++嵌入,还挺实用的技巧,是你想把资源打包进程序里、避免外部依赖的时候。这类用法常见在嵌入式、音视频、或者做些跨平台工具的时候,挺省事。你只要把 bin 文件转成 C++的数组形式,直接读内存就行,不用再去搞文件 IO。

bin 文件的工具中,Bin2C.exe还不错,直接把 bin 文件转成带十六进制数组的 C++源码。生成的代码一般就是个const unsigned char数组,写进你项目里,编译器一编译,资源就被打包进去了。嗯,读取时也不用再打开文件,直接内存访问,快得。

实际用法也简单。假设你有个mydata.bin文件,用 Bin2C 转完之后,你会得到像这样的代码:

#include 
const unsigned char myData[] = {
  0x4D, 0x5A, 0x90, 0x00, // ... 你的 bin 数据
};
int main() {
  for(int i = 0; i < sizeof>

要注意:bin 文件大,嵌进去会让源码膨胀不少,编译时间也变长,所以适合做成小模块,不要全塞进去。还有,多平台开发时注意字节序,别让 Endian 问题搞你一脸懵。

如果你平时做C++嵌入式或者Linux 工具开发,这个技巧还蛮值得掌握的。下面几个链接里有不少扩展内容,想深入了解可以顺手看看。

如果你经常打包静态资源,或者想提升程序启动效率,嗯,建议把这个方法试试看,代码也简单,响应也快。

rar
Bin2C.rar 预估大小:1个文件
file
Bin2C.exe 22KB
rar 文件大小:19.49KB