Я хочу иметь более глубокое понимание того, как запущены программы C.
Но IDE мешают нам делать это.
Таким образом, действительно ли возможно, что я вручную настроил среду и пишу код в текстовых редакторах и наконец выполняю его в подсказке?
Если ответ да, как?
Как говорили другие, установите MinGW (я предполагаю, что вы используете Windows) и поместите его каталог bin на вашем пути. Откройте окна командной строки и создайте файл с помощью текстового редактора, например, блокнота - назовите его foo.c:
#include <stdio.h>
int main() {
printf( "hello world\n" );
return 0;
}
Затем с помощью компилятора gcc скомпилируйте его, создав исполняемый файл с именем foo.exe:
> gcc foo.c -o foo.exe
наконец, запустите foo. exe из командной строки:
> foo.exe
hello world
Не понимаю, почему IDE должна препятствовать пониманию того, как работает программа на C . Обычно IDE абстрагируется от процесса build, т.е. создает правила сборки, запускает программу и отладчик. Это никак не влияет на работу самой программы, просто она более "дружественна к пользователю" (в зависимости от того, как вы определяете "дружественна к пользователю").
Вы всегда можете собирать программы без помощи IDE. Можно даже использовать Microsofts Visual Studio из командной строки, и вы не увидите GUI вообще. Аналогично для XCode на Mac OS X.
Если вы хотите собрать программу без использования какой-либо IDE, вы в основном пишите исходный код так же, как вы это делаете с IDE. Вы даже можете использовать IDE в качестве редактора. После этого вам нужно скомпилировать вашу программу. IDE обычно имеют функциональность, которая облегчает написание исходного кода, такую как автоматическое завершение элементов структуры, базовая проверка синтаксиса и тому подобное. Если программа состоит только из одного файла с исходным кодом, то это, как правило, довольно тривиально. Если у вас более одного файла исходного кода (что должно быть верно почти для всего, кроме обычного примера "Hello World"), вы все равно можете сделать это вручную. Однако, это утомительный и склонный к ошибкам процесс. В мире Unix make
является инструментом выбора для автоматизации. Вы можете использовать MinGW для получения такого окружения на Windows. Cygwin - еще одна альтернатива. Однако, вы можете также использовать nmake
из MSVC и записать вход для этого вручную (никогда не делал этого сам) - это в основном то же самое, что Makefile
для make
.
Создание Makefile
может быть нетривиальным. Есть несколько генераторов, чтобы сделать это проще. Это, по сути, те же самые IDE, которые делают, абстрагируясь от процесса сборки. Примерами генераторов Makefile
являются autotools (иногда также известный как "система сборки GNU") и cmake.
Сборка программ из командной строки также не влияет на наличие или отсутствие у программы графического интерфейса. Вы можете (снова предполагая Windows) запустить любой файл .exe
из командной строки. Если это GUI-приложение, то он будет показан, если это консольное приложение, то оно будет запущено в консольном окне.
Скачайте Cygwin и обязательно установите GCC, компилятор Си GNU.
Вы можете писать свои программы на Си в текстовом редакторе, компилировать их с помощью GCC, а затем выполнять их.
.Конечно! Есть куча компиляторов Си, доступных для Windows, несколько:
Что касается текстового редактора, то вам может понадобиться выбрать редактор, который поставляется с подсветкой синтаксиса C, например, vi, Emacs или какой-нибудь другой текстовый редактор. Овладение редактором, кстати, очень полезно, независимо от того, на каком языке вы говорите.
Я не понимаю, о чем ты говоришь. Ты хочешь написать программы на Си в текстовом редакторе, а потом скомпилировать?? Конечно, вы можете это сделать:
1- Write a C code
2- Get a compiler such as gcc (there is a windows version)
3- Compile it
4- Run it from console
Но я не уверен, что это то, что вы хотите знать.
Конечно. Для компиляции Вашего приложения Вам понадобится что-то вроде MinGW компиляторов, установленных на Вашем компьютере (или Вы можете использовать компилятор, предоставляемый IDE). Тогда просто используйте CMD и выполняйте соответствующие команды компиляции.
На самом деле, каждая IDE предоставляет просто более простой способ сделать ту же компиляцию.
.Вы можете компилировать программы для Windows (если он это имел в виду) из командной строки, используя все доступные инструменты в Windows SDK (ранее называвшейся Platform SDK, я полагаю), которую можно бесплатно скачать с сайта Microsoft. Я думаю, что в ней есть все те же инструменты, что и в Visual Studio, если не большинство из них.
.Если вас интересует, как организованы большие проекты, вы можете попробовать скачать исходный код для чего-нибудь вроде Apache httpd или PHP. Оба они находятся на C. На Linux/Mac вы можете скомпилировать их из командной строки, используя несколько простых команд (см. документацию).
.Если вы хотите посмотреть, как работает сборка, то большинство, если не все IDE создают лог сборки, в котором отображаются действительные командные строки, выданные для вызова компилятора/ссылки и т.д. Ничто не мешает вам выдавать эти команды непосредственно в командной строке.
Что IDE обычно также делает для вас, так это управление зависимостями; это сложно поддерживать вручную, и лучше всего оставить в IDE для больших проектов.
Вам не нужно загружать и устанавливать какой-нибудь специфический компилятор или цепочку инструментов, как некоторые предлагают; того, что у вас есть в текущей IDE, будет достаточно. Например, если у вас есть VC++2008 (или 2008 Express), инструменты командной строки описаны здесь.
.Вам просто нужно установить компилятор MinGW и указать путь к исполняемому файлу gcc, и вы готовы к работе. Затем Вы можете написать код на C в редакторе и скомпилировать его в командной строке так же, как Вы это делали бы в Linux.
.