Среда разработки для C

Среда разработки для C

Ищу идеи по созданию удобной и продуктивной среды разработки для разработки на языке C. Я нашелРедактирование C с помощью Vimочень полезно, но мне бы хотелось получить более широкую выборку предложений.

решение1

  • Emacs/Вим/Затмение/... - Лично я являюсь пользователем Emacs. Если вы находите, что управляющие последовательности утомляют ваш мизинец, просто переведите его в режим Viper. Emacs так хорошо интегрирован в unix, что позволяет очень легко управлять всем из одного места. Vim также хорошо справляется с этой задачей, но я нахожу Elisp гораздо более мощным языком расширений, чем Vim Script. Можно часами говорить обо всех способах настройки Emacs для разработки на C. Режим Flymakeупоминалось, и это отличное начало. Я не знаком с Eclipse, я не нахожу, что он оставляет достаточно места на моем экране для кода, и мне не нравится, насколько он раздут (пользователи Vim скажут то же самое об Emacs). Я также несправедливо предвзято отношусь ко всему, что написано на Java, по чисто эстетическим причинам.

  • Ctags- Помечайте свои функции C (или многие другие языки) так, чтобы Vim или Emacs или что-то еще могло делать немного гипертекстовых ссылок в ваших файлах. Допустим, вы бродите вокруг и видите функцию, и вы чешете голову, говоря: "Что она делает, еще раз? Название немного неопределенное". Плинк-планк-плинк, вы можете перейти прямо к ее определению.

  • Cmake/Gnu-Autotools- Make - это здорово, но в какой-то момент вам нужно немного абстрагироваться, чтобы ваш проект мог собраться на всех видах систем, для которых у вас нет возможности протестировать. Если вам нужны люди, которые будут собирать ваш код только на *nix, Autotools - это здорово, но, на самом деле, вам в любом случае следует ознакомиться с Cmake. Команда Cmake собирает код во всех мыслимых конфигурациях и следит за тем, чтобы вам не пришлось испытывать головную боль. Если вы хотите, чтобы ваш проект легко покупали другие, один из этих инструментов имеет решающее значение.

  • Гит/Меркуриальный/Подрывная деятельность/... - Вы можете потратить месяцы на изучение программного обеспечения для контроля версий, но вам, вероятно, следует просто выбрать Git. Он надежный, он распределен, @$!#%& ядро ​​Linux отслеживается с его помощью. Если он достаточно хорош для Линуса, он должен быть достаточно хорош и для вас. Я также слышал хорошие отзывы о Mercurial, судя по всему, G**gle использует их, так что он, вероятно, неплох. Некоторым людям, похоже, нравятся Subversion и CVS и все такое. Мне они не нравятся, потому что они монолитны, что для меня очень неудобно и ограничивает.

  • Stumpwm/wmii/XMonad/... - В какой-то момент вы поймете, что все, что вы можете сделать, чтобы ваша работа шла своим чередом, значительно улучшит ваши результаты. Один из лучших способов уберечь свой мозг от разрыва контекста - это перейти на плиточные, УПРАВЛЯЕМЫЕ КЛАВИАТУРОЙ оконные менеджеры. Я личный фанатStumpWM, Emacs среди оконных менеджеров. Полностью реализованный в настраиваемом на лету процессе Common Lisp, все, что вы делаете повторяющимся образом, можно изгнать в функции и привязать к командам. Отличная штука. Я не знаю многого о других, но, возможно, дальнейшее развитие лучше оставить для другой ветки. ИСПОЛЬЗУЙТЕ КЛАВИАТУРУ КАК МОЖНО БОЛЬШЕ.

  • ГБД- Я не знаком с другими отладчиками, но этот, похоже, является стандартом де-факто.

  • Вальгринд- Я не знаю ничего другого, что делало бы то, что делает это, так хорошо. Valgrind имеет решающее значение для всех этих надоедливых охот за профилированием/утечками памяти, которые вы хотите осуществить. Вы просто не сможете писать код с malloc/calloc без Valgrind.

решение2

Я некоторое время продолжал работать с Vim, стоит знать основы VIM, так как вы всегда найдете UNIX-компьютер, в котором есть только это, но я попробовал Emacs и не пожалел об этом. Eclipse — это «современная» альтернатива, у меня в системе есть все три!

решение3

Это очень личное предпочтение, поэтому я не думаю, что могу сделать больше, чем рассказать, что я использую. У меня установлен Emacs сРежим полета, который периодически компилирует файл, над которым вы работаете, и анализирует вывод компилятора, чтобы выяснить, какие ошибки вы сделали. Он выделяет ошибки/предупреждения в буфере и показывает соответствующее сообщение об ошибке компилятора

решение4

Я использую gedit со встроенным терминалом.

Связанный контент