关于linux:将数据嵌入C程序中

Embed data in a C++ program我有一个使用SQLite的C程序。我想将SQL查询存储在一个单独的文件中-纯文本文件而不是源代码文件-但要将该文件像资源一样嵌入到可执行文件中。 (这必须在Linux上运行,因此就我所知,我无法将其存储为实际资源,尽管如果是Windows,那将是完美的。) 有没有简单的方法可以做到这一点,或者它是否实际上需要我为Linux编写自己的资源系统? (很容易,但是会花费更长的时间。) 您可以使用objcopy将文件的内容绑定到程序可以使用的符号。例如,请参阅此处以获取更多信息。 您始终可以编写一个小程序或脚本,以将文本文件转换为头文件并在构建过程中运行它。 使用宏。从技术上讲,该文件将是源代码文件,但看起来不是这样。
稍后,您可以在同一个文件上对该文件进行各种其他处理,例如您想拥有它们的数组和哈希映射,则可以重新定义Q来完成另一项工作并完成它。 这是我们用于跨平台文件嵌入的示例。 您可能还需要在escapeLine函数中更改其处理换行的方式。
这有点丑陋,但您始终可以使用类似以下的内容:
其中query_foo.txt将包含带引号的查询文本。 我已经看到可以通过将资源文件转换为C源文件来完成,只定义了一个以十六进制格式包含资源文件内容的char数组(以避免出现恶意字符问题)。然后,可以自动编译此自动生成的源文件并将其链接到项目。 实现转换器为每个资源文件转储C文件以及编写一些访问资源的外观函数应该非常容易。 |
相关内容
硬盘库存迫切需要通过西方数据,三星已经停止向零
硬盘库存迫切需要通过西方数据,三星已经停止向零售商发送硬盘...
在wps中粘贴保留原格式化|wps中复制文件保留原
在wps中粘贴保留原格式化|wps中复制文件保留原有格式,格式化,...
什么是boot.ini文件错误ini的非法解决方案
什么是boot.ini文件错误ini的非法解决方案,,千奇百怪的电脑问...
鼠标不能拖动文件了
鼠标不能拖动文件了,鼠标,拖动,本文目录鼠标不能拖动文件了电...
无法读取U盘中的数据
无法读取U盘中的数据,,核心提示:我有一个512MB的U盘,把它插在电...
wps数据拟合图形公式|你好,请问在WPS中拟合线性
wps数据拟合图形公式|你好,请问在WPS中拟合线性方程,请问在WP...
计算机不能打开网页发送更多的数据包,但很少收到
计算机不能打开网页发送更多的数据包,但很少收到(解决方案)。,,问...
wps删除重复数据|WPS表格中,删除重复项,只保留
wps删除重复数据|WPS表格中,删除重复项,只保留一个数据,如何...
如何使用selenium+TestNG做web数据驱动测试
如何使用selenium+TestNG做web数据驱动测试,数据库,数据,本文...
Outlook的PST文件损坏的修复方法
Outlook的PST文件损坏的修复方法,文件, ...
wps表格查找重复的数据|在wps表格中查找重复数
wps表格查找重复的数据|在wps表格中查找重复数据,表格,重复,...
win7怎么看电脑运行时间|win7怎么看软件运行时
win7怎么看电脑运行时间|win7怎么看软件运行时间,,1. win7怎么...
电脑什么文件不能删除文件|电脑中哪些文件不能
电脑什么文件不能删除文件|电脑中哪些文件不能删除,,电脑中哪...
电脑上怎样打文件|电脑上怎样打文件符号
电脑上怎样打文件|电脑上怎样打文件符号,,电脑上怎样打文件符...
EXCEL数据透视表怎么用?是干什么的
EXCEL数据透视表怎么用?是干什么的,透视,干什么,怎么,excel透视...