这个函数在C语言中输入是什么意思:MODELDIR "/en-us/en-us"

What does this function input means in C language: MODELDIR "/en-us/en-us"

我从the PocketSphinx tutorial

阅读了以下代码
config = cmd_ln_init(NULL, ps_args(), TRUE,
             "-hmm", MODELDIR "/en-us/en-us",
                 "-lm", MODELDIR "/en-us/en-us.lm.bin",
                 "-dict", MODELDIR "/en-us/cmudict-en-us.dict",
                 NULL);

这是我第一次看到一个变量--MODELDIR--在一个字符串--"/en-us/en-us"旁边。这怎么可能?我在 C/C++ 教程书中从未见过这样的内容!

如果我想搜索这方面的更多信息,我应该使用什么关键字进行搜索?

MODELDIR 是一个扩展为字符串的 。 C 将相邻的字符串连接成单个字符串*,因此如果 MODELDIR#defined 到 "/foo/bar",这将导致以下函数调用:

config = cmd_ln_init(NULL, ps_args(), TRUE,
             "-hmm", "/foo/bar/en-us/en-us",
                 "-lm", "/foo/bar/en-us/en-us.lm.bin",
                 "-dict", "/foo/bar/en-us/cmudict-en-us.dict",
                 NULL);

*) 所以,写作

"Hello, " "World!"

完全一样
"Hello, World!"