Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.71
Gungala
43 / 15 / 1
Регистрация: 18.08.2013
Сообщений: 79
#1

Среда программирования Emacs - C++

18.08.2013, 18:02. Просмотров 2316. Ответов 31
Метки нет (Все метки)

Всем доброе время суток. Я не давно начал изучать программирование на языке С++ и стараюсь писать длинные и сложные программы, но в таких программах как Microsoft Visual C++, Code Blocks и других, мне не удобно работать, решил перейти на Emacs, но не могу понять как там компилировать, нужно создать какой-то make файл, если есть такой добрый человек который знает как это сделать, прошу объяснить или ссылку там скинуть
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.08.2013, 18:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Среда программирования Emacs (C++):

Среда программирования - C++
Какая среда программирования бесплатная, т.е. не взломанная, а чисто бесплатная...

Среда программирования - C++
Ребята, 2 месяца учил С++ на Visual Studio, сейчас надо резко перейти на C++ Bilder. Скажите пожалуйста, стиль кода сильно отличается? А то...

Среда программирования. - C++
Здравствуйте. Подскажите, что за среда программирования изображена на скриншотах?

Среда программирования для Windows 7 - C++
Подскажите пожалуйста какую лучше всего среду разработки установить для операционной системы Windows 7 домашняя базовая 32 разрядная?...

Среда для визуального программирования - C++
Подскажите среду для визуального программирования на C++ (хочу перетаскивать кнопочки на форму, а не прописывать их в коде). Из вариантов...

Среда программирования на С++ для MAC - C++
Подскажите пожалуйста оптимальную среду программирования для интересующихся для MAC OS, очень мало информации по этому поводу. Заранее...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ya_noob
_
201 / 145 / 9
Регистрация: 08.10.2011
Сообщений: 432
19.08.2013, 11:01 #16
Цитата Сообщение от ninja2 Посмотреть сообщение
А emacs какие то китаезы написали пусть сами в нем и разбираются
Столлман китаец?
Жги еще, ninja2
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
19.08.2013, 11:30 #17
Цитата Сообщение от ninja2 Посмотреть сообщение
вставить контрл n, компилировать контрл x
wat?
Цитата Сообщение от ninja2 Посмотреть сообщение
И документация по нему вся на английском, на русском ничего нету
программисты не знающие английского - не нужны
Цитата Сообщение от ninja2 Посмотреть сообщение
Я не помню, но я там компилировал без make файла просто точно щас не помню нажимал контр x, открывалась строчка для ввода команды и вводишь туда g++ имя файла и он компилируется.
compile mode в помощь
Цитата Сообщение от ninja2 Посмотреть сообщение
emacs - это костыль, а не среда.
ктото просто только ctrl+f5 осилил
gray_fox
19.08.2013, 11:39
  #18

Не по теме:

Цитата Сообщение от ninja2 Посмотреть сообщение
решил visual studio использовать, это ж как некак от самого майкрасофта, а они что попало делать не будут. А emacs какие то китаезы написали
Цитата Сообщение от ninja2 Посмотреть сообщение
emacs - это костыль, а не среда.
Гуру такой гуру...

Kastaneda
19.08.2013, 12:29
  #19

Не по теме:

Цитата Сообщение от alex_x_x Посмотреть сообщение
ктото просто только ctrl+f5 осилил
alex_x_x, жди вопроса "а что делает ctrl+F5?"

kvadro
11 / 9 / 1
Регистрация: 12.03.2012
Сообщений: 127
19.08.2013, 15:24 #20
emacs это кроссплатформенно, а так вроде плевать что использовать, разве что любители постоянно браться за мышку при программировании emacs не осилят.
Croessmah
Модератор
Эксперт CЭксперт С++
13135 / 7398 / 828
Регистрация: 27.09.2012
Сообщений: 18,234
Записей в блоге: 3
Завершенные тесты: 1
19.08.2013, 15:45 #21
Цитата Сообщение от kvadro Посмотреть сообщение
emacs это кроссплатформенно
Code::Blocks тоже
kamre
126 / 130 / 4
Регистрация: 25.12.2011
Сообщений: 443
19.08.2013, 16:02 #22
Цитата Сообщение от Gungala Посмотреть сообщение
но в emacs'е работать удобней - его можно полностью под себя настроить и благодаря этому процесс написания программы становится быстрее
Сколько раз уже видел эту фразу про "его можно полностью под себя настроить", но как только доходит до вопросов по настройке самой базовой функциональности вроде подсветки кода и навигации по коду - никаких работающих решений не приводится. Про настройку работы с отладчиком, чтобы было также удобно пользоваться как в MSVC, вообще обычно сразу пишут, что отладчик не нужен и удобная интеграция с ним тем более.

Есть здесь на форуме гуру Emacs, которые помогут настроить эти базовые вещи, необходимые для работы над с++ проектами?

Самые простые вопросы по настройке Emacs:
  1. как настроить навигацию по С++ коду?
  2. как настроить семантическую расцветку кода?
  3. как сделать так, чтобы символ под курсором можно было подсветить во всем буфере?

Под 1 имеется ввиду корректная навигация с полным учетом семантики языка, т.е. всякие примитивные вещи вроде ctags не подходят. Шаблоны/макросы/перегрузки должны учитываться, и переход к определению символа из места его использования должен просто работать. Также под навигацией имеется ввиду и поиск references (мест использования символа) с учетом семантики, т.е. find-grep здесь явно не подходит.

В пункте 2 нужна возможность задавать разный текстовый стиль для разных семантических элементов. Например, разные стили для локальных переменных и членов класса. Для static элементов мне нужен курсив, для виртуальных функций также свой стиль.

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

Как мне "полностью под себя настроить" Emacs?
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
19.08.2013, 16:04 #23
Цитата Сообщение от kamre Посмотреть сообщение
Про настройку работы с отладчиком, чтобы было также удобно пользоваться как в MSVC, вообще обычно сразу пишут, что отладчик не нужен и удобная интеграция с ним тем более.
чем gdb mode не нравится?
Цитата Сообщение от kamre Посмотреть сообщение
вроде подсветки кода
чем минор моды, которые собсно и обеспечивают подсветку не подходят
Цитата Сообщение от kamre Посмотреть сообщение
Также под навигацией имеется ввиду и поиск references (мест использования символа) с учетом семантики, т.е. find-grep здесь явно не подходит.
ecb/ebrowse/ctags/etags/gtags/cscope итд
kamre
126 / 130 / 4
Регистрация: 25.12.2011
Сообщений: 443
19.08.2013, 16:45 #24
Цитата Сообщение от alex_x_x Посмотреть сообщение
чем gdb mode не нравится?
А как в нем смотреть сложные вложенные структуры данных? Вроде таких или таких.

Цитата Сообщение от alex_x_x Посмотреть сообщение
чем минор моды, которые собсно и обеспечивают подсветку не подходят
Не подходят тем, что не позволяют мне настроить так, как я это описал выше. Если позволяют, то расскажите как их нужно настроить для C++, может быть я чего-то упускаю.

Цитата Сообщение от alex_x_x Посмотреть сообщение
ecb/ebrowse/ctags/etags/gtags/cscope итд
Ни какой из этих инструментов не учитывает семантику языка C++. Или же расскажите как их нужно настроить для C++, может быть я чего-то упускаю.

P.S. Набор всех этих инструментов и "костылей", которые можно прикрутить к emacs я вроде знаю. Но как с ними заставить emacs делать то, что мне нужно, не понимаю и документации с пошаговой настройкой в интернете не нахожу...
fasked
Эксперт С++
4935 / 2515 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
19.08.2013, 17:02 #25
Цитата Сообщение от kamre Посмотреть сообщение
А как в нем смотреть сложные вложенные структуры данных? Вроде таких или таких.
Если честно, то мне за свой опыт редко приходится настолько "плотно" работать с отладчиком. А в особо тяжелых случаях проблема редко бывает связана со "сложными структурами данных". То есть в простых случаях хватает обычного print в консоли. В тяжелых не хватает только отладчика в принципе.
Я это к тому, что на практике высказывания в духе "в MSVC самый крутой дебаггер и хз как на линуксе без него программировать вообще" произносят быдлокодеры, которые невнимательно пишут код, а позже из-за этой невнимательности часами просиживают с отладчиком. И да, я не спорю, что в MSVC самый крутой отладчик, но его возможности в 99% случаев не нужны. И это не говоря про то, что TDD еще больше уменьшает необходимость отладчика.
Цитата Сообщение от kamre Посмотреть сообщение
Ни какой из этих инструментов не учитывает семантику языка C++. Или же расскажите как их нужно настроить для C++, может быть я чего-то упускаю.
Программирование через Ctrl+Space, конечно, весьма занимательное занятие, но опять же, что еще нужно кроме банального автокомплита и сниппетов для продуктивной работы?
Единственное, что приходит в голову, так это какие-нибудь средства рефакторинга - в духе переименования класса или публичной функции. Тот рефакторинг, что распространяется на весь проект, а не локальную область видимости. В подобных случаях, простые редакторы, конечно, проигрывают IDE, но это уже другая история.
kamre
126 / 130 / 4
Регистрация: 25.12.2011
Сообщений: 443
19.08.2013, 17:17 #26
Цитата Сообщение от fasked Посмотреть сообщение
Я это к тому, что на практике высказывания в духе "в MSVC самый крутой дебаггер и хз как на линуксе без него программировать вообще" произносят быдлокодеры, которые невнимательно пишут код, а позже из-за этой невнимательности часами просиживают с отладчиком.
Вот уже и песни про не нужность отладчика и быдлокодеров начались Мне также не часто нужны возможности отладчика в MSVC, но когда я решил залезть в чужой код с отладчиком, то мне нужны все удобства MSVC, которых я не нахожу в Emacs/консоли.

Цитата Сообщение от fasked Посмотреть сообщение
Программирование через Ctrl+Space, конечно, весьма занимательное занятие, но опять же, что еще нужно кроме банального автокомплита и сниппетов для продуктивной работы?
А причем здесь "программирование через Ctrl+Space"? Я вообще ничего не спрашивал про то, как настраивать intellisense в Emacs (худо-бедно решается через внешний "костыль" clang_complete), мне в первую очередь нужна удобная навигация по коду и хорошая семантическая подсветка. А в Emacs для C++ я этого не нахожу. Когда приходится работать с огромной кодовой базой, написанной кучей людей, и разбираться со связями между разными частями кода, удобная навигация позволяет гораздо эффективнее всем этим заниматься.

Цитата Сообщение от fasked Посмотреть сообщение
это уже другая история
Вот можно подробнее про другую историю, особенно с учетом фразы "его можно полностью под себя настроить"?
fasked
Эксперт С++
4935 / 2515 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
19.08.2013, 17:30 #27
Цитата Сообщение от kamre Посмотреть сообщение
Вот уже и песни про не нужность отладчика и быдлокодеров начались
Это не песня, а жизненное наблюдение, и ничего личного в этом не было.
Цитата Сообщение от kamre Посмотреть сообщение
но когда я решил залезть в чужой код с отладчиком, то мне нужны все удобства MSVC, которых я не нахожу в Emacs/консоли
Согласен, чужой плохой код часто является причиной головной боли. Но тут можно задуматься о том, почему подобный код вообще попадает "в продакшн".
Цитата Сообщение от kamre Посмотреть сообщение
Когда приходится работать с огромной кодовой базой, написанной кучей людей, и разбираться со связями между разными частями кода, удобная навигация позволяет гораздо эффективнее всем этим заниматься
В первую очередь помогать должно понимание архитектуры проекта, а не удобная навигация. В хорошем проекте после прочтения high level design интуитивно становится ясно куда и зачем ходить.
Цитата Сообщение от kamre Посмотреть сообщение
Вот можно подробнее про другую историю, особенно с учетом фразы "его можно полностью под себя настроить"?
Заметьте, не я это предложил сказал. Я вообще emacs не переношу.
Однако мне доводилось править код в таких местах, куда не то, что MSVS не встанет в силу используемой платформы, а вообще какой-либо GUI отсутствует. Поэтому консольный инструментарий совсем отвергать нельзя.
kamre
126 / 130 / 4
Регистрация: 25.12.2011
Сообщений: 443
19.08.2013, 17:45 #28
Цитата Сообщение от fasked Посмотреть сообщение
Согласен, чужой плохой код часто является причиной головной боли. Но тут можно задуматься о том, почему подобный код вообще попадает "в продакшн".
Попадает скорее всего потому, что как-то да работает, текущие задачи решает. А предложение выбросить 10-20Мб исходников и переписать их так, чтобы все было идеально, на работе не воспримут серьезно. Поэтому приходится работать с тем, что есть и стараться делать это максимально эффективными средствами.

Цитата Сообщение от fasked Посмотреть сообщение
В хорошем проекте после прочтения high level design интуитивно становится ясно куда и зачем ходить.
А в идеальном проекте вообще все идеально. Не всегда имеется такая документация по "high level design", особенно в актуальном виде и со всеми деталями.

Цитата Сообщение от fasked Посмотреть сообщение
Я вообще emacs не переношу.
Как текстовый редактор он вполне нормальный, но если мне нужно будет редактировать текст, а не код на языке программирования, то я лучше возьму что-то попроще, например, Sublime.

P.S. хотелось бы больше про сам Emacs и его настройку под мои скромные потребности почитать, а не холивары про "раз этого нет, то оно не нужно" разводить...
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
19.08.2013, 18:14 #29
[quote="kamre;4964350"]А как в нем смотреть сложные вложенные структуры данных? Вроде таких или таких./quote]
разварачиванием типов занимаются питоновские плагины gdb
в емаксе это все по факту подхватывается
Цитата Сообщение от kamre Посмотреть сообщение
Ни какой из этих инструментов не учитывает семантику языка C++. Или же расскажите как их нужно настроить для C++, может быть я чего-то упускаю.
есть cedit - все из коробки
вопросы кастамизации отдельных библиотек - уже следующая стадия

Цитата Сообщение от kamre Посмотреть сообщение
Не подходят тем, что не позволяют мне настроить так, как я это описал выше. Если позволяют, то расскажите как их нужно настроить для C++, может быть я чего-то упускаю.
через customize face
либо интерактивною, либо вручную (как например http://stackoverflow.com/questions/7...-0-endif-block)
я честно говоря кастомил только indention, поэтому про подсветку нужно гуглить
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
19.08.2013, 20:25 #30
emacs - это реально костыль, там даже строчки не пронумерованы и хз как эту нумерацию включить, приходилось вручную считать в кокой строчке ошибка. От визуалстудио это мега среда, все удобства и код посвечивается и если ошибка, то кликнул по строчке и попал в место где ошибка, плюс подсказки. Не нарадуюсь просто. Нашо нада разбираться по пол дня в настройках самого редактора время терять на это, тем более команды не так как в нормальных редакторах копировать ctr c, вставить ctr v, вырезать ctrl x, а там левые комбинации, в нем поработаешь так месяц и привыкнешь, а потом в нормальных редакторах таких как ворд или еще чо нить будешь путаться.

Пусть те кому жалко потратится на визуалстудио и работают в нем, а я сразу определил, что он убог и смысла нету разбираться в нем. Когото удивить? Да мне оно не нужно.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.08.2013, 20:25
Привет! Вот еще темы с ответами:

Программная среда для программирования на C# - C++
Сегодня решил начать изучать С#, только не пойму, откуда можно скачать программную среду для программирования на C#. Есть на сайте...

В какой среда программирования(или компиляторе) открыть нижеуказанный код? - C++
Здравствуйте! Подскажите пожалуйста - в чем открыть этот код(в каком компиляторе, программе через которую скомпилирует без ошибок) ? И...

Автодополнения кода в Emacs - C++
Здравствуйте, как можно включить функцию автодополнения ("например при нажатии на определённую клавишу или автоматический") в редакторе...

Как переделать под себя интерфейс редактора Emacs? - C++
В поисках редактора мечты. Друзья! Недавно попробовал Emacs. Редактор очень крутой,с кучей полезных функций и удобной подсветкой. НО...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
19.08.2013, 20:25
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru