我在程序中使用 argp,它使用全局定义的 char doc[] 来显示有关程序的信息。
除了程序信息,我想在这个文档中添加一个 GPL 通知。
GPL 声明被定义为 const char * (但我不介意更改它),因为它在其他一些地方使用。
最初我试过这个:
static char doc[] = strcat("basic program info", GPLNOTICE);
但这给出了:
error: initializer fails to determine size of ‘doc’
然后我尝试转换为字符串:
static char doc[] = (string("basic program info") + string(GPLNOTICE)).c_str()
但这给出了同样的错误
然后我想也许让 doc 一个 char * 也可以
static char *doc = strcat("basic program info", GPLINFO)
...但这会因分段错误而崩溃
我尝试将 GPL 通知转换为宏定义,但实际上对此无能为力