so 如何带二进制数据

lazy_2010 2010-11-12 02:14:47
想在 linux 下 build 一个 so,但是希望把 so 用到的一个二进制 .dat 文件同时打包成一个 .so 文件,而不想通过 fopen 的方式去动态读取,应该如何实现呢?

对于小数据量,可以直接在 .h/.c/.cpp 中用 const unsigned char bData[] = {xxx}; 来实现,但是如果对于比较大的数据,比如 1 M 字节的二进制文件,该如何处理?
...全文
115 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
手机写程序 2010-11-12
  • 打赏
  • 举报
回复
利用objcopy工具.
http://www.fqyy.org/sunu/archives/932.html
QT的做法,与你说的类似.
qmake 将产生make规则来生成一个叫做 qrc_application.cpp 的文件并把它链接到应用程序中。该文件中,图像和其他资源的所有数据被以压缩二进制数据存进静态C++数组中。 .qrc 文件被改变或者它引用的文件中的某一个被改变时, qrc_application.cpp 自动重新生成。若你没有使用 .pro 文件,你也可以手动调用 rcc 或者在你的编译系统中添加创建规则。
http://blog.chinaunix.net/u2/61322/showart_2011157.html
手机写程序 2010-11-12
  • 打赏
  • 举报
回复
用tar压缩再放到const unsigned char bData[] = {xxx}.

23,127

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧