Настройка среды программирования в Linux [закрыто]
-
03-07-2019 - |
Вопрос
Недавно я начал использовать Linux в качестве основной ОС.Какие инструменты мне понадобятся для настройки полноценной среды программирования в Linux для C и C++?
Решение
Стандартные вещи:
- Инструменты компилятора, gcc, gdb и т. д.
- Какой-то редактор/IDE (emacs, vim, eclipse)
- Инструменты профилирования
- Система управления исходным кодом (SubVersion, git и т. д.)
- Инструменты для конкретного языка, такие как easy_install для Python (вы сказали C/C++, но то же самое касается всего)
- Может веб-сервер?Апач, лайтпд, nginx
- Любые библиотеки, которые вы будете использовать.Вы занимаетесь взломом ядра?Разработка драйверов?опенгл?
Другие советы
Среди прочего у вас также должны быть gprof и valgrind (или что-то в этом классе).
Это зависит от вашего определения «Полная среда программирования» и от того, используете ли вы C, C ++ или оба (C / C ++ - ужасный термин, который не следует использовать. Это C или C ++). р>
Если вы ищете IDE, Eclipse / CDT является наиболее рекомендуемой. Исходя из моего опыта (на самом деле я не пользуюсь IDE, поэтому не могу дать совет из первых рук).
Если вы можете справиться с управлением из командной строки (и, в конце концов, я нахожу, что это делает вещи проще и не требует большого привыкания), достаточно простого текстового редактора с подсветкой. Я предпочитаю KATE (часть KDE), поскольку он имеет встроенный терминал, а также многие функции, которые можно ожидать от редактора в IDE, такие как свертывание кода и поиск / замена регулярных выражений.
Многие также рекомендуют Vim или Emacs, которые, вероятно, доступны через репозитории вашего дистрибутива. (Eclipse, вероятно, тоже доступен, но по моему опыту CDT сбивает с толку установку через пакеты. YMMV). Они оба древние редакторы; и между ними идет мощная священная война, поэтому я не буду вмешиваться.
Ваш компилятор должен быть, вероятно, GCC - в системе Debian для запуска C ++ должно быть достаточно установки пакета g ++ и build-essential (build-essential должен содержать пакет gcc, необходимый для разработки на C). Независимо от вашего дистрибутива, GCC, вероятно, легко доступен или уже есть в вашей системе.
Поддерживая Swilliams, я бы сказал, что основы таковы:
- редактор или IDE (я использую vim),
- компилятор (почти наверняка gcc)
- make или, может быть, какой-нибудь другой аналогичный инструмент, например ant, если хотите.
- отладчик (почти наверняка GDB)
- контроль исходного кода (я использую Subversion)
- Стандартные утилиты Unix, такие как grep и diff, но они у вас уже есть.
В остальном я бы посоветовал устанавливать по ходу дела.Linux — это скорее маленькие утилиты, каждая из которых делает одну вещь, чем монолитная среда разработки, которая делает все.Так что, если вам что-то понадобится, вы всегда можете просто установить это, будь то профилировщик памяти, генератор документации, больший/меньший/более другой редактор и так далее, и так далее.
В каком дистрибутиве вы работаете?
В Ubuntu или любом дистрибутиве на основе Debian вы можете выполнить следующую команду, чтобы установить все необходимые инструменты.
sudo apt-get install build-essential
Оттуда вы можете установить предпочитаемое решение SCM и IDE, если вы предпочитаете или просто использовать свой любимый текстовый редактор.
Самый простой из ответов - редактор (выбирайте сами - хотя бы один уже есть) и gcc / g ++.
Если вы хотите интегрированную среду разработки, есть множество вопросов, связанных с этим в SO :) (включая этот C ++ IDE для Linux? ).
Kdevelop — это хорошо известная и хорошо написанная среда разработки для Linux, ее установка должен получите все остальные инструменты, которые вы, возможно, захотите разработать, с установленными ими, а также IDE для них.
Под «любым другим инструментом» я подразумеваю, что gcc, grep, diff, autoconf и др. должны быть загружены менеджером пакетов и установлены одновременно, но я могу ошибаться.У меня нет под рукой стандартного дистрибутива, чтобы проверить это.
Лично я использую vim, но раньше использовал kdevelop.
vim/vi удобен, потому что вы знаете, что некоторая форма vi всегда доступен на каждый платформа Юникс.
- Я должен исправить свой пост.Я только что посмотрел требования к пакету для kdevelop на Ubuntu...похоже, что он НЕ требует gcc и не устанавливает его автоматически
Если вам нужно что-то очень простое в использовании, с возможностью импорта проектов Visual Studio и ощущением, очень похожим на VS, предоставьте Кодовые блоки попробовать. Он быстрый (так как он не основан на Java) и в целом работает хорошо.
Еще одна замечательная утилита, которую вы можете использовать, — это man-страницы *nix.Каждая функция в библиотеке C имеет соответствующую справочную страницу.
Например:
мужчина распечатка
мужчина
...
Я взял старый ноутбук с Windows с мертвым жестким диском и заменил жесткий диск, затем установил Ubuntu (linux / debian все в одном удобном выпуске) на нем. Я должен был сжечь убунту сначала установочные файлы на компакт-диск на другом рабочем компьютере.
Вот откуда я взял свой linux (в комплекте с настольным графическим интерфейсом, очень прост в установке, много программ для использования, это был мой первый Linux но не мой первый юникс):
http://www.ubuntu.com/getubuntu/download
Затем я установил Netbeans для своей интегрированной среды разработки (IDE). Хотя я использую его для Java - но он поставляется с поддержкой C ++, как показано ниже:
http://www.netbeans.org/features/cpp/ р>
Я также установил mySql, вы не спрашивали, но это еще один ключевой компонент это завершает мою среду разработки.
Удачи тебе.
В большинстве дистрибутивов все, что вам нужно, будет установлено по умолчанию (очень немногие не включают gcc, все они включают в себя какой-то редактор).Обычно я занимаюсь разработкой в Vim (или gVim, графической версии — лучшем из обоих миров).Для тех случаев, когда я чувствую потребность в «настоящей» IDE, Eclipse с плагином Vim действительно хорош.Это почти похоже на работу в Vim, за исключением того, что вы получаете возможности Eclipse — опять же, лучшее из обоих миров.Однако плагин Vim для Eclipse, который я использую, не является бесплатным :( Я думаю, что есть бесплатный, но в последний раз, когда я его пробовал, он оказался не очень хорошим.
Лично я использую Ubuntu с Eclipse CDT.Eclipse — это то, что большинство людей могут считать Java IDE, но CDT — это набор расширений, которые действительно настраивают его для разработки на C/C++.Он достаточно умен, чтобы понять, какой набор инструментов использовать (например, MacOSX GCC или Linux GCC).
Для достижения наилучших результатов в настоящее время JRE 6.0 для Ubuntu, похоже, имеет проблемы с последними версиями Eclipse, поэтому я удалил JRE 6.0 и запустил:
apt-get установить сборку Sun-Java5-Jre Sun-Java5-бин
Затем скачайте последнюю версию Eclipse с веб-сайта и распакуйте ее в каталог.
В качестве последнего штриха отредактируйте файл eclipse.ini, поставляемый с Eclipse, и добавьте в него следующую строку:
-XX:CompileCommand=exclude,org/eclipse/core/internal/dtree/DataTreeNode,forwardDeltaWith
Это еще больше стабилизирует приложение, сделав его таким же надежным, как Windows или Mac.
Если вы предпочитаете инструменты командной строки инструментам с графическим интерфейсом, некоторые из них я использую регулярно:
- CMake -- Портативный инструмент для сборки.Он прост в использовании и может выводить различные форматы, такие как Makefiles или файлы Visual Studio.
apt-get установить cmake
- Вим -- VI улучшен, если вам нужен текстовый редактор с некоторыми наворотами.В противном случае просто используйте «nano», который поставляется с Ubuntu.
apt-get установить vim
Два варианта: вы должны принять решение сейчас и никогда не оглядываться назад, иначе рискуете быть сожженным на костре:
а.Эмац б.ви(м)
Не слушайте никаких рациональных аргументов перед выбором...прислушайтесь к свету внутри себя...
Установите множество прибамбасов для выбранного вами редактора, vi удобен, но не доставляет удовольствия.Вим - это весело, но Вим с дополнениями отлично.
(И то же самое верно и для Emacs, даже если это означает установку тетрис и доктора ;-))
/Йохан
Два человека должны быть гуаке и питосом. Я не могу понять, как любой из них может иметь список инструментов разработчика без них.