В настоящее время вы склонны иметь среды, в которых вы разрабатываете код. Другими словами, вы получаете IDE (интегрированную среду разработки), которая состоит из редактора, компилятора, компоновщика, отладчика и многих других замечательных инструментов (анализ кода, рефакторинг и т. Д.).
Вам вообще не нужно вводить команду, предпочитая вместо этого последовательность клавиш, например CTRL F5 , которая создаст весь ваш проект для вас.
Не так в прежние дни. Нам пришлось запоминать всевозможные тайные команды, чтобы преобразовать наш исходный код в исполняемые файлы. Такие красивые конструкции как:
cc -I/usr/include -c -o prog.o prog.c
cc -I/usr/include -c -o obj1.o obj1.c
as -o start.o start.s
ld -o prog -L/lib:/usr/lib prog.o obj1.o start.o -lm -lnet
Просто, нет?
Это был действительно большой шаг вперед, когда мы начали использовать make-файлы, поскольку мы могли скрыть все эти запутанные команды в сложном файле и просто выполнить make
из командной строки. Он ушел бы и выполнил бы все эти команды для нас, и только для файлов, которые нуждались в этом.
Конечно, в современном мире все еще нужны компиляторы командной строки. Возможность запуска таких вещей, как Eclipse, в режиме «без головы» (без графического интерфейса) позволяет вам скомпилировать все ваши вещи пакетным способом, не взаимодействуя с самим графическим интерфейсом.
Кроме того, как Borland (или как они себя называют на этой неделе), так и Microsoft также бесплатно предоставляют компиляторы командной строки (у Microsoft также есть бесплатные выпуски Express).
И gcc
также является компилятором командной строки. Он отлично справляется со своей работой * и предоставляет другим приложениям возможность добавлять интерфейс, если людям нужны такие вещи.
Не поймите меня неправильно. Я думаю, что вся среда IDE является прекрасной идеей для быстрого цикла кода / отладки, но я обнаружил, что, как только мои приложения достигли определенного уровня зрелости, я склонен отдавать им предпочтение в форме, где я могу редактировать код с vim
и просто запустите make
, чтобы получить конечный продукт.