硬编码大数据集到可执行文件?

Ann*_*inn 5 c++

我想将大量数据(不同长度的整数数组,文本字符串库等)直接硬编码到可执行文件中,因此没有其他文件.

我的问题是,在C++中这样做最实用,最有条理的方法是什么?根据标题或源文件,我将在何处放置数据?我应该使用什么结构?

我意识到这不是处理数据的可接受方式.但幽默我!

vle*_*leo 8

对于C++和C,您可以使用头文件为这些变量添加声明,然后将实际的初始化代码放入.c(或.cc)文件中.C和C++都有不错的初始化语法.例如:

mydata.h:

extern int x;
extern int a[10];
extern unsigned char *s;
Run Code Online (Sandbox Code Playgroud)

mydata.c:

#include "mydata.h"
int x = 123;
int a[10] = {1,2,3,4,5,6,7,8,9,10};
unsigned char *s = "mystring";
Run Code Online (Sandbox Code Playgroud)

然后main.c将有:

#include "mydata.h"
#include <stdio.h>

int main(const int argc, char *argv[])
{
  printf("%d, %d, %s\n", x,a[5],s);
}
Run Code Online (Sandbox Code Playgroud)

测试运行看起来像这样:

$gcc -o main main.c mydata.c
$ ./main 
123, 6, mystring
Run Code Online (Sandbox Code Playgroud)

现在,要真正有条理,可以编写Perl/Python/PHP脚本,从数据源生成这样的格式化文件,如CSV文件的SQL数据库.