Программа для написания программ на С++

Рейтинг: 0Ответов: 1Опубликовано: 18.04.2015

В какой программе собственно программируют? Я считал что это делается в Microsoft Visual Studio. И вот я дорвался до 2010 версии, а она не хочет дебажить мой код написанный с учебника. Может нужно ещё что-то настроитьв самой студии или использовать другую среду?

Ответы

▲ 6

Зависит от операционной системы.

Под Windows:

  • MS Visual Studio
  • NetBeans
  • Eclipse
  • Qt Creator
  • Emacs (а как же без него!)
  • JetBrains CLion (обновлено, спасибо ixSci);

Под Linux:

  • всё то же, кроме MS Visual Studio

Под Mac OS X (обновлено, спасибо ixSci):

  • XCode
  • AppCode

Под Linux часто вообще не используется никакая IDE-среда разработки, а используется просто отдельный компилятор, gcc или clang и обычный текстовый редактор, типа Vim.

В этом случае написание и компиляция простейшей программы выглядит так:

vim hello-world.c
gcc -o hello-world hello-world.c

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

Программы сборки занимают очень важное место в инструментарии разработчика. Без них редко себе можно представить написание сколь-нибудь сложной программы. Классической программой сборки являеися make (и его различные клоны-реализации в различных системах, например, cmake), но сейчас набирают популярность и ряд других программ.

Итак, универсальные программы для сборки (есть и специфичные, использующиеся только в некоторых случаях):

  • make + autotools;
  • SCons — сравнительно медленная, но мощная программа сборки; написана на Python;
  • Waf — другая программа сбоки на Python, но отличающаяся от SCons высокой скоростью;
  • ninja — сверхбыстрая сборочная программа на Си++, как правило используется в сочетании с более высокоуровневыми программами, такими как CMake, gyp или даже SCons.

Пример простейшего Makefile'а и его использование:

CC      = gcc
CFLAGS  = -g
RM      = rm -f


default: all

all: Hello

hello: Hello.c
    $(CC) $(CFLAGS) -o hello hello.c

clean veryclean:
    $(RM) hello

Использование:

$ make hello
cc     hello.c   -o hello