Ответ 1
Поскольку CUDA C/С++ основан на С++, вы можете просто использовать режим С++. Вы можете добавить языковую карту, используя --langmap=c++:+.cu
.
Я использую редактор vim (на Ubuntu). Недавно я работал с большими проектами cuda и, следовательно, хотел бы использовать утилиту ctags для просмотра кода. Список поддерживаемых языков для exuberant-ctags [здесь] (http://ctags.sourceforge.net/languages.html) пока не содержит CUDA. Если кто-нибудь знает, как сделать то же самое, я очень благодарен за помощь.
Спасибо
EDIT 1: я нашел следующее временное исправление.
Чтобы создать файл тега для файлов CUDA, используйте ctags со следующим параметром (если ваш текущий каталог содержит все ваши файлы cuda);
$ctags --langmap = С++:+. cu *
Поскольку CUDA C/С++ основан на С++, вы можете просто использовать режим С++. Вы можете добавить языковую карту, используя --langmap=c++:+.cu
.
Я не знаю о taglist, но если вы используете плагин Tagbar (повтор taglist), вы можете добавить следующую строку в .vim/autoload/tagbar.vim:
let s:known_types.cuda = type_cpp
Поместите его прямо после строки:
let s:known_types.cpp = type_cpp
В диалоговом окне taglist вы можете добавить следующие строки
" cu language
let s:tlist_def_cu_settings = 'c++;n:namespace;v:variable;d:macro;t:typedef;' .
\ 'c:class;g:enum;s:struct;u:union;f:function'
ниже
" c++ language
let s:tlist_def_cpp_settings = 'c++;n:namespace;v:variable;d:macro;t:typedef;' .
\ 'c:class;g:enum;s:struct;u:union;f:function'
в taglist.vim
universal-ctags (https://ctags.io) имеет встроенный синтаксический анализатор для cuda.
$ ./ctags --list-maps=CUDA
CUDA *.cu *.cuh