LINUX.ORG.RU
ФорумTalks

eclipse для C++ с нуля - howto?


0

0

хочу собрать себе eclipse с нуля для С++, так как недоволен толстотой пакета «Eclipse IDE for C/C++ Developers» и наличием в нём ненужных мне вещей вроде mylyn и cvs. с чего начинать и как это делать? как я понимаю, мне необходимы eclipse platform + eclipse CDT, но можно точнее?

★★★★★
Ответ на: комментарий от Lighting

Не нужен ему генту. У нас в генте эклипс идет одним поганым бандлом без всяких юзфлагов.

FeiWongReed
()
Ответ на: комментарий от jcd

Полагаю, Легче всего забить. (Эклипс настолько прожорлив, что врядли наличие или отсутствие данных утилит на чём-то отражается)

Или установить чисто платформу, а CDT стянуть через систему обновлений.

Adjkru ★★★★★
()

> наличием в нём ненужных мне вещей вроде mylyn и cvs

дык их можно отключить - в чем проблема?

lester ★★★★
()
Ответ на: комментарий от lester

в том, что результат должен содержать как можно меньшее число файлов и иметь как можно меньший размер.

jcd ★★★★★
() автор топика
Ответ на: комментарий от jcd

> в том, что результат должен содержать как можно меньшее число файлов и иметь как можно меньший размер.

ну удали их еще из папки plugins - если так сильно мешают

lester ★★★★
()

Использовать eclipse для C++ - это шизофрения.

Можно относиться одним из двух способов к управляемым средам (со сборкой мусора):
1) либо среда со сборкой мусора - более правильный подход и перейти от устаревшего C++ к новым технологиям.
2) либо сборка мусора это менее правильный подход и должны существовать IDE, написанные на C++ и превосходящие по функциональности и удобству использования аналогичные IDE в управляемых средах.

Очевидно, что на текущий момент обе лучшие IDE (Visual Studio и Eclipse) написаны для управляемых сред.

Выбирая IDE для управляемой среды, человек признает, что использование технологии сборки мусора является более прогрессивным. Выбирая язык для неуправляемой среды человек говорит о том, что он НЕ признает, что технология сборки мусора является более прогрессивной.

Неспособность сделать простой логический вывод, отсутствие внутренней целостности - это профессиональная инфантильность и недоразвитие личности, проявляющееся в нежелании брать на себя ответственность, напускной наивности и нежелании учить новые технологии.

ArsenShnurkov
()
Ответ на: комментарий от ArsenShnurkov

тот же Visual Studio написан точно так же для С++ как и для других языков, причем сам написан на С++ + С#, т.к. очевидно, что для гуя низкоуровневость не всегда надо, а вот для статического анализа текста или парсинга кода - надо без вопросов, поэтому тот же VisualAssist последней версии по сравнению с аналогичной функциональностью в Eclipse на порядок лучше как скоростью так и качеством

lester ★★★★
()
Ответ на: комментарий от lester

Visual Studio написан на С++ + С#, т.к. очевидно


он написан не по причине того, что без C++ не обойтись, а только в части интеграции с другими устаревающими системами. Как только будет полностью управляемая ось - отвяжут и студию

низкоуровневость для статического анализа текста или парсинга кода - надо без вопросов


4.2 Компилятор mono для linux - полностью управляемый (уж молчу про gocosmos.org, там не только компилятор, но и все остальное)

тот же VisualAssist последней версии по сравнению с аналогичной функциональностью в Eclipse на порядок лучше как скоростью так и качеством


Однако топик-стартер устанавливает Eclipse, а не Visual Assist, значит что-то с Visual Assist не так.

ArsenShnurkov
()
Ответ на: комментарий от ArsenShnurkov

твоя аватарка тебе идёт.

эклипс я выбрал ввиду его замечательной настраиваемости, когда можно настроить любой элемент интерфейса так, как тебе нужно. в неудобной и некомфортной среде я кодить не хочу, поэтому отверг уже кучу всего и остановился на эклипсе. причем тут сборка мусора? критерий удобства среды - наличие сборщика мусора?

jcd ★★★★★
() автор топика
Ответ на: комментарий от ArsenShnurkov

> он написан не по причине того, что без C++ не обойтись, а только в части интеграции с другими устаревающими системами.

ололо :) он написан в том числе на С++ потому-что то, что написали на C# нового в VC2010 ихние индусы, - тормозит на топовом железе( та же диаграмма классов )

4.2 Компилятор mono для linux - полностью управляемый


мы про С++ разговаривали если что, а поддержку С++ в ихней IDE даже подстветкой синтаксиса обозвать нельзя

Однако топик-стартер устанавливает Eclipse, а не Visual Assist, значит что-то с Visual Assist не так.


очевидно потому-что он стоит денег и под венду

lester ★★★★
()
Ответ на: комментарий от ArsenShnurkov

>топик-стартер устанавливает Eclipse, а не Visual Assist, значит что-то с Visual Assist не так.

две причины:
1) эклипс полностью портабелен и все настройки замечательно носит с собой, на хосте нужна только ява.
2) эклипс есть под линуксы, и когда я вернусь в генту - мне не придётся почти ничего изменять.

jcd ★★★★★
() автор топика
Ответ на: комментарий от ArsenShnurkov

GCC тоже ипользует сборку мусора для управления собственными аллокациями памяти. Мне теперь следует признать, «что использование технологии сборки мусора является более прогрессивным» и не собирать C/C++-программы этим компилятором?

d_a ★★★★★
()
Ответ на: комментарий от jcd

вчера нашёл CodeLite, и оно почти соответствовало требованиям, но его плохая по сравнению с эклипсом настраиваемость подтолкнула к возвращению к истокам.

jcd ★★★★★
() автор топика
Ответ на: комментарий от ArsenShnurkov

> Выбирая IDE для управляемой среды, человек признает, что использование технологии сборки мусора является более прогрессивным. Выбирая язык для неуправляемой среды человек говорит о том, что он НЕ признает, что технология сборки мусора является более прогрессивной.

Неспособность сделать простой логический вывод


Ну ты и тупой. Про логику мог и не говорить, потому что всё твоё рассуждение логически неверно и вообще смахивает на неумелый, толстый троллинг. Нет никакой связи между IDE и управляемой средой, они имеют совершенно не коррелирующее друг с другом предназначение и принадлежат разным уровням абстракции.
Ты мог бы пойти ещё дальше и сказать, что человек, выбирающий IDE, признаёт, что использование платформ общего назначения является более прогрессивным. А выбирая в качестве конечной платформы какую-нибудь embedded платформу, человек говорит о том, что он не признаёт, что платформы общего назначения являются более прогрессивными.

fang
()
Ответ на: комментарий от d_a

Мне теперь следует признать и не собирать C/C++-программы этим компилятором?

Именно так - перестать собирать C/C++ программы и вообще использовать C/C++ (нет ведь желания писать все на ассемблере? почему есть желание писать на C++?)

Следует признать и перейти на использование управляемых технологий.
Конкретно на moonlight (потому что не silverlight, java fx и flex)

ArsenShnurkov
()
Ответ на: комментарий от ArsenShnurkov

> Именно так - перестать собирать C/C++ программы и вообще использовать C/C++

и это говорит человек с надписью gentoo.ru на аве?

lester ★★★★
()
Ответ на: комментарий от ArsenShnurkov

Ты что, совсем упоротый? Всему свой инструмент.

// Итс корм тайм !

d_a ★★★★★
()
Ответ на: комментарий от ArsenShnurkov

Следует признать и перейти на использование управляемых технологий. Конкретно на moonlight

а, вон ты опять к чему. только самое-то интересное в том, что я не спрашивал твоего совета по этому вопросу.

это вроде клон CodeBlocks

а я ещё чувствую какое-то лёгкое дежавю... вечером codebloks поковыряю, может выйдет чего.

jcd ★★★★★
() автор топика
Ответ на: комментарий от lester

это говорит человек с надписью gentoo.ru на аве?


гента - это идея автоматизации цепочки получения работающей системы из исходных текстов. эта идея вполне может быть применена как в cygwin, так и в gocosmos.org и к другому языку (python, c#).

На аватарке написано, что меня назвали «враждебным идеологом» на сайте gentoo.ru

Ты мог бы пойти ещё дальше и сказать, что человек, выбирающий IDE, признаёт, что использование платформ общего назначения является более прогрессивным. А выбирая в качестве конечной платформы какую-нибудь embedded платформу, человек говорит о том, что он не признаёт, что платформы общего назначения являются более прогрессивными.


Человек, использующий Embedded системы считает, что специализация важнее чем общий уровень развития. Однако «Специалист подобен флюсу: полнота его одностороння.» (c)казал Козьма Прутков.
Область применения embedded систем станет так же узка,
как и применение ассемблера в современных системах.

Пример - на робота, складывающего полотенца и ищущего розетки ставят процессоры общего назначения (конкретно - xeon-ы)

ArsenShnurkov
()

2ArsenShnurkov:

Как эксперт по IDE и управляемым средам, порекомендуй, пожалуйста, какую-нибудь IDE, первым поддерживаемым языком для которой не был один из управляемых языков, в которой есть для C++ вменяемое автодополнение и базовые возможности рефакторинга.

fang
()
Ответ на: комментарий от fang

порекомендуй, пожалуйста, какую-нибудь IDE


Ну тут все просто. Если embedded девелоперы такие элитарные - пусть дотачивают IDE самостоятельно, чтобы получить свою узконишевую элитарную IDE, а не используют мейнстримные.

ArsenShnurkov
()
Ответ на: комментарий от ArsenShnurkov

> тобы получить свою узконишевую элитарную IDE, а не используют мейнстримные

В чём функциональное отличие «узконишевой элитарной» IDE от «мейнстримной»?

fang
()
Ответ на: комментарий от fang

В чём функциональное отличие «узконишевой элитарной» IDE

от «мейнстримной»?


в поддержке способа мышления embedded-программистов для создания и компиляции кода для неуправляемых сред. В то время как мейнстрим - создание полностью управляемой ОС со сквозной метаинформацией (в предположении, что к тому времени как будет готово - накладные расходы будут скомпенсированы повышением производительности, что приведет к росту функциональности и поможет вытеснить неуправляемые системы, в том числе embedded)

ArsenShnurkov
()
Ответ на: комментарий от jcd

Кодлайт хорош, да. Правда, пока вроде как еще не до конца допилен, и wx - не Ъ.

pevzi ★★★★★
()
Ответ на: комментарий от jcd

А вот кодблокс сколько раз ни пробовал - выключал, отплевываясь (:

pevzi ★★★★★
()
Ответ на: комментарий от ArsenShnurkov

Вменяемое автодополнение и возможность рефакторинга для плюсов - это настолько узкая ниша, да?

pevzi ★★★★★
()
Ответ на: комментарий от pevzi

> А емакс еще пилить и осиливать надо, чтоб можно было пользоваться -_-

«Лучше день потерять. Потом за 5 минут долетим.»

anunymuos
()
Ответ на: комментарий от pevzi

Вменяемое автодополнение и возможность рефакторинга для плюсов

- это настолько узкая ниша, да?


Плюсы не нужны. Надо впиливать управляемую ось на устройства.

ArsenShnurkov
()
Ответ на: комментарий от ArsenShnurkov

> в поддержке способа мышления

У вас, на вашей планете, IDE нужен для поддержки способа мышления, да? А на Земле он нужен для интеграции различных инструментов, чтобы минимизировать метание разработчика между кучей окошек, управления проектами, быстрой навигации по дереву сорцов, нужен для того, чтобы обеспечить разработчику _удобство и частичную автоматизацию самого процесса разработки_.

для создания и компиляции кода для неуправляемых сред


Это функция компилятора, а не IDE.

fang
()
Ответ на: комментарий от jcd

>а я ещё чувствую какое-то лёгкое дежавю... вечером codebloks поковыряю, может выйдет чего.

бери из транка, если что. там у них к релизу дело идет, нужны тестеры.

k0l0b0k ★★
()
Ответ на: комментарий от lester

> VisualAssist последней версии по сравнению с аналогичной функциональностью в Eclipse на порядок лучше как скоростью так и качеством

VA быстрее парсит, но с чего бы это у него качество лучше? Он уже overload resolution научился, или все также вываливает в виде списка все подряд и предлагает самому вручную выбирать?

kamre ★★★
()
Ответ на: комментарий от pevzi

> возможность рефакторинга для плюсов - это настолько узкая ниша, да?

А что есть надежные инструменты для рефакторинга? Всякие Visual Assist/CDT/NetBeans/QtCreator не умеют корректно индексировать исходники, постоянно какие-то косяки на сложном коде. Самое вменяемое - это Emacs + Xrefactory, который использует Professional C++ front-end from EDG.

kamre ★★★
()
Ответ на: комментарий от kamre

> Всякие Visual Assist/CDT/NetBeans/QtCreator не умеют корректно индексировать исходники, постоянно какие-то косяки на сложном коде.

Visual Assist 10.6 вполне себе торт

lester ★★★★
()
Ответ на: комментарий от kamre

> постоянно какие-то косяки на сложном коде

За остальные не скажу, но в CDT косяки возникают не при сложном коде, а в больших проектах, начиная где-то с полумиллиона строк.

Самое вменяемое - это Emacs


И у емакса в индексировании так же есть свои косяки.

fang
()
Ответ на: комментарий от kamre

> VA быстрее парсит, но с чего бы это у него качество лучше? Он уже overload resolution научился, или все также вываливает в виде списка все подряд и предлагает самому вручную выбирать?

после new, например, выдает то, что надо, приведите пример - я проверю

lester ★★★★
()
Ответ на: комментарий от lester

приведите пример - я проверю

Пример:

void test() {}

void test(int i) {}

void test(double d, const char *str) {}

int main()
{
    test();
    test(3);
    test(1.6, "speed");
    return 0;
}

И пытаемся перейти от вызовов test в main к определению. Компилятор здесь все однозначно разрешает, а VA в таких случаях вывливает полный список из всех перегруженных test, да еще и по два раза для каждой в h/cpp файлах.

kamre ★★★
()
Ответ на: комментарий от fang

CDT кстати научился осиливать boost? Раньше он чудовищно тупил на любом нетривиальном коде, использующем буст. VA в этом плане вполне устраивает, кстати.

gizzka ★★
()
Ответ на: комментарий от kamre

И пытаемся перейти от вызовов test в main к определению. Компилятор здесь все однозначно разрешает, а VA в таких случаях вывливает полный список из всех перегруженных test, да еще и по два раза для каждой в h/cpp файлах.

Наглое 4.2, переходит к одному нужному определению test, только что проверил. VA v. 10.6.1819.

gizzka ★★
()
Ответ на: комментарий от fang

> но в CDT косяки возникают не при сложном коде, а в больших проектах

Заиспользовать какой-нибудь boost::bind или чего-нибудь из boost::phoenix и CDT уже не может распарсить код.

И у емакса в индексировании так же есть свои косяки.

Речь не про Emacs как таковой, а про Xrefactory. За ним косяков я не замечал, но скорость парсинга совсем низкая, почти как компилятор работает, для ошибок в коде он даже выводит подробные сообщения.

kamre ★★★
()
Ответ на: комментарий от gizzka

> Наглое 4.2, переходит к одному нужному определению test, только что проверил. VA v. 10.6.1819

Это хорошо, если наконец-то они доделали это. Я последний раз смотрел версию VA 10.5.1xxx Попробую как-нибудь новую.

А пример, когда CDT хуже парсит чем VA можете привести?

kamre ★★★
()
Ответ на: комментарий от gizzka

А конкретный пример можно? Или вы хотите сказать, что VA уже даже для boost::spirit со всем его метапрограммированием на шаблонах справляется? Справляется - корректно работает навигация по всем элементам кода, по всем перегруженным операторам в том числе.

kamre ★★★
()
Ответ на: комментарий от kamre

С bind и function - да, работает. Со спиритом давненько не игрался, если не лень будет - сделаю примерчик простенький и гляну.

А вообще, к сожалению, до функциональности Resharper'а как до луны пешком что CDT, что VA, что всем остальным. Хотя и у него есть свои минусы (на нехилых проектах 4гб оперативы хочет, к примеру). Да и язык «не правильный».

Ну а вообще - против CDT или кого-то ещё ничего не имею, допилили бы - был бы очень рад :)

gizzka ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.