有时候,出于某种考虑,我们需要将某些数据文件嵌入到可执行程序中。在windows平台下,通常可以使用资源文件的方式。但如果希望跨平台,例如在Linux, Unix中取得类似的效果,可以将数据文件转换成c语言源文件,编译到最终代码中。在Linux/Unix下转换方法也很简单,一条语句即可搞定:
(echo "const unsigned char binary_data[] = {"; od -txC myfile.bin | sed -e "s/^[0-9]*//" -e s"/ \([0-9a-f][0-9a-f]\)/0x\1,/g" -e"\$d" | sed -e"\$s/,$/};/") >myfile.c
本文介绍了一种在Linux/Unix环境下将数据文件转换为C语言源文件的方法,以便将其编译进可执行程序中实现跨平台的数据文件嵌入。
2171

被折叠的 条评论
为什么被折叠?



