首页 / 知识
关于linux:将数据嵌入C程序中
2023-04-15 22:48:00

Embed data in a C++ program我有一个使用SQLite的C程序。我想将SQL查询存储在一个单独的文件中-纯文本文件而不是源代码文件-但要将该文件像资源一样嵌入到可执行文件中。 (这必须在Linux上运行,因此就我所知,我无法将其存储为实际资源,尽管如果是Windows,那将是完美的。) 有没有简单的方法可以做到这一点,或者它是否实际上需要我为Linux编写自己的资源系统? (很容易,但是会花费更长的时间。) 您可以使用objcopy将文件的内容绑定到程序可以使用的符号。例如,请参阅此处以获取更多信息。 您始终可以编写一个小程序或脚本,以将文本文件转换为头文件并在构建过程中运行它。 使用宏。从技术上讲,该文件将是源代码文件,但看起来不是这样。
稍后,您可以在同一个文件上对该文件进行各种其他处理,例如您想拥有它们的数组和哈希映射,则可以重新定义Q来完成另一项工作并完成它。 这是我们用于跨平台文件嵌入的示例。 您可能还需要在escapeLine函数中更改其处理换行的方式。
这有点丑陋,但您始终可以使用类似以下的内容:
其中query_foo.txt将包含带引号的查询文本。 我已经看到可以通过将资源文件转换为C源文件来完成,只定义了一个以十六进制格式包含资源文件内容的char数组(以避免出现恶意字符问题)。然后,可以自动编译此自动生成的源文件并将其链接到项目。 实现转换器为每个资源文件转储C文件以及编写一些访问资源的外观函数应该非常容易。 |
最新内容
相关内容
linux查询命令进程?
linux查询命令进程?,系统,名称,总量,情况,状态,进程,材料,工具,电脑,数据,怎么查看linux进程名称1、linux 下查看进程可以使用的命令:ps命令查linux文件异或命令?
linux文件异或命令?,数字,系统,工作,管理,命令,数据,网络,文件,第一,单位,基本linux命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出目linux文件复制的命令?
linux文件复制的命令?,系统,文件,命令,目录,源文件,基本知识,位置,目标,选项,文件夹,在Linux中,要将指定源文件复制到目标文件,但不覆盖原有文查询linux内存命令?
查询linux内存命令?,系统,情况,信息,工具,电脑,状态,命令,内存,发行,总量,查看linux的cpu和内存1、要查看内存使用情况,可以使用free命令。Freelinux复制命令文件?
linux复制命令文件?,系统,文件,命令,目录,基本知识,源文件,目标,文件夹,路径,选项,linux怎么复制命令cp命令:用于复制文件或目录。语法如下:`baslinux下文件均分命令?
linux下文件均分命令?,管理,情况,系统,工作,信息,地址,命令,目录,单位,设备,Linux文件系统操作命令1、cat:可以显示文件的内容(经常和more搭配linux的文件替换命令?
linux的文件替换命令?,系统,工作,实时,命令,文件,批量,字符串,内容,方法,表示,linux命令行替换文件内容Linux下批量替换多个文件中的字符串的脚本linux上运行命令?
脚本linux上运行命令?,工具,代码,时间,密码,系统,环境,名字,位置,第三,下来,typescript脚本中怎样运行Linux命令?1、Script可用于记录当前用户linux查文件数量命令?
linux查文件数量命令?,系统,数据,电脑,命令,文件,信息,代码,对比,软件,第三,linux系统如何查看自己创建了多少文件夹为了实验,我打算总共创建 7linux命令去重文件?
linux命令去重文件?,系统,工作,命令,信息,数据,环境,代码,文件,目录,操作,Linux的命令行中一些文本操作技巧的实例分享1、把文件中所有的 findlinux匹配文件名命令?
linux匹配文件名命令?,系统,时间,发行,位置,工具,软件,名称,盘后,电脑,盘中,linux如何查找某个文件名1、用CRT软件连接一个Linux系统 。打开需数据库导出linux命令?
数据库导出linux命令?,密码,数据,数据库,情况,地址,系统,工具,网上,名字,命令,linux系统导出oracle数据库数据导出数据库对象在PL/SQL Develop