当前位置: 技术问答>linux和unix
so 如何带二进制数据
来源: 互联网 发布时间:2016-10-16
本文导语: 想在 linux 下 build 一个 so,但是希望把 so 用到的一个二进制 .dat 文件同时打包成一个 .so 文件,而不想通过 fopen 的方式去动态读取,应该如何实现呢? 对于小数据量,可以直接在 .h/.c/.cpp 中用 const unsigne...
想在 linux 下 build 一个 so,但是希望把 so 用到的一个二进制 .dat 文件同时打包成一个 .so 文件,而不想通过 fopen 的方式去动态读取,应该如何实现呢?
对于小数据量,可以直接在 .h/.c/.cpp 中用 const unsigned char bData[] = {xxx}; 来实现,但是如果对于比较大的数据,比如 1 M 字节的二进制文件,该如何处理?
对于小数据量,可以直接在 .h/.c/.cpp 中用 const unsigned char bData[] = {xxx}; 来实现,但是如果对于比较大的数据,比如 1 M 字节的二进制文件,该如何处理?
|
利用objcopy工具.
unix/linux知识 iis7站长之家
QT的做法,与你说的类似.
qmake 将产生make规则来生成一个叫做 qrc_application.cpp 的文件并把它链接到应用程序中。该文件中,图像和其他资源的所有数据被以压缩二进制数据存进静态C++数组中。 .qrc 文件被改变或者它引用的文件中的某一个被改变时, qrc_application.cpp 自动重新生成。若你没有使用 .pro 文件,你也可以手动调用 rcc 或者在你的编译系统中添加创建规则。
http://blog.chinaunix.net/u2/61322/showart_2011157.html
unix/linux知识 iis7站长之家
QT的做法,与你说的类似.
qmake 将产生make规则来生成一个叫做 qrc_application.cpp 的文件并把它链接到应用程序中。该文件中,图像和其他资源的所有数据被以压缩二进制数据存进静态C++数组中。 .qrc 文件被改变或者它引用的文件中的某一个被改变时, qrc_application.cpp 自动重新生成。若你没有使用 .pro 文件,你也可以手动调用 rcc 或者在你的编译系统中添加创建规则。
http://blog.chinaunix.net/u2/61322/showart_2011157.html