我有一个小型库,其中包含一些应该在运行时可用的文档,但是 MS Visual Studio C++ 编译器只允许长度不超过2,048 字节的字符串文字,有没有一种简单的方法来解决这个限制?我能找到的唯一解决方案是创建一个字符串数组,然后分配一个新缓冲区并将字符串复制到其中。
char *doc_arr[] = {
"Documentation for my program\n",
"\n",
"This is a seccond line\n",
// and so on ....
}
int doc_arr_length = 203; // number lines in doc_arr
char doc[3502]; // number of bytes in dockumentation
strcpy(doc, doc_arr[0]);
for(int i = 1; i < doc_arr_length; i++){
strcat(doc, doc_arr[i]);
}
更新:看起来需要一些上下文。
我有一个 ruby 程序,它需要很多选项并收集大量数据并生成一个 .c 文件。.c 文件被编译为 .dll 女巫,然后在其他程序中用于快速计算。这意味着您很快就会获得大量不同的 .c 和 .dll 并且很难管理版本。我认为在源文件和编译的 dll 中包含有关提供给 ruby 脚本的选项的综合文档可能是一个好主意。