2013-05-12 3 views
2

Я пытаюсь сделать что-то вроде этого в CUDA:CUDA NVCC компилятор бинарная переменная

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

И компилятор NVCC продолжает давать мне ожидать ошибки символа «;»

Тот же код работает с компилятором GCC C. Я заметил, что проблема связана с установкой двоичного значения как 0b00000010, есть ли другие обозначения, которые NVCC ожидает?

ответ

5

Бинарные константы, использующие префикс 0b, являются gcc extension и не являются частью стандартных C99 или C++ 98/C++ 03. Компиляторы open64 и LLVM/clang, на которых основана инструментальная цепочка CUDA, не поддерживают это. Вам нужно будет преобразовать ваши константы в восьмеричные, шестнадцатеричные или десятичные, чтобы использовать их в CUDA.

Смежные вопросы