我有一些二进制文件,我想将其嵌入到我用VC ++ Express Edition编译的DLL中。
我有几种方法可以做到这一点(比如将数据转换为我随代码编译的数组),但我不满意,我觉得我可能错过了一个简单,直接的解决方案。
最干净,最简单的方法是什么?
答案 0 :(得分:15)
我不知道这是否是一个选项,但Unix(可能很容易在Windows上)程序xxd
有一个输出C头的选项:
xxd -i file.bin > file.h
file.h
将包含一个包含数据的unsigned char
数组的定义,以及一个告诉您数组长度的unsigned int
。当然,输出到file.c
然后将file.h
写为:
extern unsigned char file[];
extern unsigned int file_len;
变量的名称取决于输入文件。希望这会有所帮助。
答案 1 :(得分:2)
我最后一次这样做(前一段时间)我使用了二进制资源。这是一个描述方法的article。不过,我不确定是否有更新的东西可以做得更好。