реклама на сайте
подробности

 
 
> Парсер C/C++ в эклипсе
esaulenka
сообщение Mar 30 2017, 16:14
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Здравствуйте.

Занимаюсь реанимацией древнего проекта.
Разрабатывалось оно в CodeWarrior, но в 2017 году тамошним редактором я пользоваться не могу совсем.
Перетащил все файлики в эклипс (компилятор оставил старый). Подсветка-рефакторинг-поиск - всё прекрасно, но...

Но как научить эклипс корректно обрабатывать конструкции вида
{asm{nop};}
или
uchar DEVID_ @ (DevInfoAddr+4) = 123;
?
При виде первой он подчёркивает всё, что дальше, красным.
Во втором просто не видит переменной.


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Aaron
сообщение Mar 31 2017, 06:28
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 243
Регистрация: 5-10-06
Из: Зеленоград
Пользователь №: 21 007



я делал иначе - создавал отдельный .h - файл, подключаемый к файлам проекта, где неизвестные для эклипса конструкции задавал через #define.
Сам .h-файл оборачивался в #if для различных компиляторов вида:
#define __ECLIPSE__
#if defined (__SDCC__)
#elif defined (__ARMCC__)
#elif defined (__GNUC__)
#elif defined (__ECLIPSE__)
#endif
Такой подход позволит и работать с кодом в эклипсе, и запускать компиляцию разными компиляторами без коррекции каждый раз макроса, т.к. вызываемые компиляторы добавляют свои встроенные определения, автоматом подхватится нужный кусок из h-файла. Баловался таким именно когда использовал одни и те же файлы для абсолютно разных компиляторов.
Сейчас не помню, вроде как для парсинга эклипс использует по-умолчанию GNUC компилятор и его определения.. Ну если что - #elif defined (__ECLIPSE__) покатит.

Второй путь - добавить такие макроопределения на уровне свойств проекта (Paths and Symbols) - тогда в коде проекта не придётся ничего добавлять/изменять.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 17th August 2025 - 10:59
Рейтинг@Mail.ru


Страница сгенерированна за 0.03364 секунд с 7
ELECTRONIX ©2004-2016