Редактирование OpenCL в NetBeans - PullRequest
2 голосов
/ 21 июня 2011

Недавно я прочитал вопрос об IDE здесь, в StackOverflow, всегда будучи пользователем emacs, я решил попробовать один из этих идей, а именно netbeans для редактирования C ++. Это было так приятно, что я немного увлекся и захотел отредактировать в нем файлы OpenCL.

А теперь на мой вопрос. У меня есть netbeans, настроенный для обработки исходных файлов opencl, таких как файлы C, но это вызывает проблему. Ключевое слово __kernel делает проверку синтаксиса действительно странной.

Кто-нибудь знает, как заставить netbeans игнорировать ключевое слово в определенном (*. Cl) файле?

Следующее решение выглядит как работающее:

#ifndef tan
#define __kernel
#define __global
#define __local
#define __private
#define get_global_id
#define get_global_size
#define get_local_id
#define get_local_size
#define barrier
#endif 

Поскольку tan определен без заголовка, netbeans его не видит, и доступны ключевые слова.

Ответы [ 3 ]

2 голосов
/ 21 августа 2014

Чтобы сетевые компоненты игнорировали ключевое слово, вы можете определить ONLY_DEFINED_IN_NETBEANS в записи определений препроцессора в опциях поддержки кода проекта, не определяя его где-либо еще.Ваш код может быть изменен как

#ifdef ONLY_DEFINED_IN_NETBEANS
#define __kernel
#define __global
#define __local
#define __private
#define get_global_id
#define get_global_size
#define get_local_id
#define get_local_size
#define barrier
#endif

. Парсер NetBeans будет игнорировать эти ключевые слова.

. Тот же трюк можно применить в качестве исправления к ошибке, сообщенной в NetBeans на __restrict__Ключевое слово:

#ifdef ONLY_DEFINED_IN_NETBEANS
#define __restrict__
#define restrict
#endif
1 голос
/ 21 июня 2011

Это не тот ответ, который вам нужен, но для временного редактирования, просто поместите строки вроде

#define __kernel
#define __global
#define __local
#define __private

в начале файла cl.Это работает в Eclipse.Я думаю, что это будет работать и в Netbeans.

Недостаток: вам нужно обратить внимание на удаление операторов #define, иначе код не будет работать.

0 голосов
/ 21 июня 2011

вы можете сказать редактору C NetBeans полностью игнорировать синтаксические ошибки, но я не думаю, что вам повезет научить NetBeans специфическим ключевым словам CL.

tools-> options-> C ++ ->инструменты сборки

  • продублировать конфигурацию инструмента
  • дать ему имя и удалить все пути к компилятору
  • сделать его по умолчанию

tools-> options-> C ++ -> подсветка

  • снимите флажок с подсветкой синтаксических ошибок и неразрешенных идентификаторов
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...