我正在尝试研究一个用于CUDA的简单MPI代码。我遇到了这条线。
cerr << "MPI error calling \""#call"\"\n"; \
什么是#call
?与CUDA,C ++或MPI有关吗?
答案 0 :(得分:3)
这是宏定义的一部分。 call
是一个宏参数,可能是函数的名称。 #
运算符将其操作数转换为字符串。所以#call
是一个带有函数名称的字符串。
相邻的字符串是连接的,因此名称将与"MPI error calling \""
和"\"\n"
合并,并在cerr
上输出。
#
运算符是C / C ++预处理器的一部分,字符串文字串联也是两种语言共有的(但不是预处理器本身的一部分)。所以不,它对CUDA,C ++或MPI来说并不特殊。