c++ - 类型、性质和含义(什么是) "#call"in c++

标签 c++ macros c-preprocessor

我正在尝试研究用于 CUDA 的简单 MPI 代码。我遇到了这一行。

cerr << "MPI error calling \""#call"\"\n"; \

什么是#call?与 CUDA、C++ 或 MPI 相关?

最佳答案

这是宏定义的一部分。 call 是一个宏参数,大概是一个函数的名字。 # 运算符将其操作数转换为字符串。所以 #call 是一个带有函数名称的字符串。

相邻的字符串被连接起来,因此名称将与 "MPI error calling\"""\"\n" 组合并输出到 cerr

# 运算符是 C/C++ 预处理器的一部分,字符串文字连接对于这两种语言也是通用的(但不是预处理器本身的一部分)。所以不,它对 CUDA、C++ 或 MPI 来说并不特殊。

关于c++ - 类型、性质和含义(什么是) "#call"in c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32263374/

相关文章:

c++ - Python 最大化一个核心,而 C++ 没有

c++ - 遍历 unordered_map C++

c - 将container_of宏应用于嵌入的char数组时报告警告

c++ - 仅扩展到其参数的 PROTOTYPE 宏有何意义?

macros - 为什么错误在错误的行?

c++ - 如何仅将 C 预处理器应用于某些 (#if/#endif) 指令?

c++ - 我的代码中有一个我找不到的错误

c++ - 在简单的图形编辑器中绘制 "preview"行

c++ - 包含目录中的所有文件?

c++ - Doxygen 文档注释#define