2

我正在尝试在 CUDA 中做这样的事情:

char_sig=code[k][1] & 0b00000010;

NVCC 编译器不断给我错误,预期为“;”

相同的代码适用于 GCC C 编译器。我注意到问题在于将二进制值设置为 0b00000010,是否还有其他 NVCC 期望的符号?

4

1 回答 1

5

0b使用前缀的二进制常量是gcc 扩展,不是标准 C99 或 C++98/C++03 的一部分。CUDA 工具链所基于的 open64 和 LLVM/clang 编译器不支持这一点。您需要将常量转换为八进制、十六进制或十进制才能在 CUDA 中使用它们。

于 2013-05-12T20:34:15.093 回答