воскресенье, 24 июня 2007 г.

Eclipse CDT

На выходных, я как обычно занимаюсь всякими бесполезностями :)

Вот решил тряхнуть стариной и поковырять немного Eclipse как среду разработки для языка C++.

Нашел достаточно внятную заметку, как эту штуку можно настроить вместе с компилятором MinGW. К сожалению, я решил съэкономить на трафике и воспользовался достаточно устаревшей MinGW версии 3.0.8.

В качестве полигона для тестирования я взял свой старый проект Gruz2. Это небольшая игрулька, написаная на C++ и имеет зависимость на библиотеку SDL. Еще несколько лет назад я добился, чтобы она собиралась на Visual C++ 7, Borland C++ Builder 5 и MinGW 3.0.8 (из-под среды Dev-C++) и GCC 3.x под Mandriva Linux 10.1.

Поэтому эксперимент можно назвать достаточно прозрачным. Все проблемы автоматически были списаны на настройку окружения ну и, естественно, на мои руки.

К сожалению мне так и не удалось осилить настройку линковщика, и рабочей версии приложения так и не получилось :(

Я уже было совсем расстроился от того, что мне ничего большего чем Hello World не удалось выжать, однако я вспомнил еще об одном моем древнем поделии под названием SmallBasic.

Это реализация интерпретатора подмножества языка Basic. Главная его "фишка" заключалась в том, что он имел зависимости только на C++ Standard Template Library и при этом тянул на аж 4 класса из 1363 строк :)

Простите за такие жуткие цифры, этот проект был наколбашен достаточно давно.

Вот как раз этот проект успешно собрался и даже удалось его немного подебажить.

В целом впечатления довольно положительные. Жалко только что MinGW - самый "медленный" C++ компилятор в мире :) Ну уж очень долго он собирает проект.

Вот такие фичи у CDT попали под угол моего зрения:
  • подсветка синтаксиса
  • code complete
  • outline полей и функций активного *.cpp или *.h файла
  • вкладки c открытыми файлами
  • список задач (TODO, предупреждения, ошибки)
  • console output во вкладке
  • подсветка ошибок и предупреждений (насколько я понял поддерживается парсинг GCC/MinGW и Visual C++)
  • поддержка нескольких targets (типа можно настроить на сборку под GCC, MinGW, Visual C++ 7, Borland C++ да еще и под разными ОСями что бы скучно не было)
  • дебагер с показом переменных области видимости и Expression (это типа Watch в Visual Studio)
  • генератор makefile для MinGW и GCC
  • парсер makefile (outline подсветка синтаксиса и т.п.)
И обязательно, документальное подтверждение моих мук:

1 комментарий:

Alexander комментирует...

Я тоже как-то с MinGW баловался, hello world скомпилил, а потом неинтересно стало- в Linux разработчику удобнее.