Написание и компиляция программы на C под Windows XP? - PullRequest
6 голосов
/ 15 мая 2009

Это вопрос абсолютного новичка, но, согласно последнему подкасту, я понимаю, что ни один вопрос не слишком новичок.

У меня 0 опыта программирования, и я хочу изучать C, поэтому я начинаю книгу по K & R. Я использую ноутбук с Windows XP и планирую использовать Notepad ++ для записи и Code :: Blocks для компиляции.

Вот мой вопрос: как только я написал программу "Hello World" в Notepad ++, как мне сохранить ее, скомпилировать и запустить?

Редактировать и новый вопрос: Когда я собираю и запускаю из Code :: Blocks, я получаю окно с сообщением «hello world». Он остается открытым, пока я не закрою его вручную. Однако, когда я дважды щелкаю по файлу .exe, приглашение просто мигает и исчезает, почему это так?

Большое спасибо,

JD

Редактировать: я собираюсь использовать Code :: Blocks в качестве IDE, согласно рекомендациям здесь.

Ответы [ 10 ]

9 голосов
/ 15 мая 2009

Сохраните его как файл .c. И вы можете использовать MinGW компилятор , чтобы скомпилировать файл в файл .exe. Но поскольку у вас есть Visual Studio, вы должны использовать этот компилятор.

6 голосов
/ 15 мая 2009

Вы должны быть в состоянии написать C в Visual Studio. Вы, конечно, могли бы в более старых версиях IDE. Просто создайте исходные файлы с расширением .c.

Вы должны иметь возможность собирать и запускать код из Visual Studio.

5 голосов
/ 15 мая 2009

Если вы только учитесь программировать, я бы не рекомендовал начинать с C. Сегодня она все еще имеет место, но есть гораздо более простые языки для изучения базового синтаксиса и техники. Насколько я понимаю, не так много нанятых начинающих программистов на Си. Тем не менее, вы можете быть начинающим программистом java, c #, VB, ruby ​​или python, и люди будут платить вам за обучение. Затем, когда у вас есть прочная основа по структуре и технике, вы можете приблизиться к металлу с помощью C.

Только мои два цента, даже если это не совсем ответ на ваш вопрос.

3 голосов
/ 15 мая 2009

Если вы не хотите использовать visual-studio, вы можете попробовать что-то вроде codeblocks , которое позволяет использовать компилятор VS ... это гораздо проще + легче, если вы просто начало.

2 голосов
/ 16 мая 2009

Если вы копируете код из K & R, вам нужно добавить систему («пауза»); перед завершением main () и сохранением файла с помощью .c

int main ()
{
printf ("Привет, мир \ n");

система ( "пауза");
возврат 0;
}
Я тоже новичок, надеюсь, это поможет.

2 голосов
/ 15 мая 2009

Как отмечали другие авторы, Visual Studio может быть немного ошеломляющим для новичка - множество вариантов и много пуха, необходимых для того, чтобы вывести простой «Hello World» за дверь.

Я лично рекомендую Dev-C ++ IDE Bloodshed для начинающих. Он больше не работает (так что получите стабильную, а не бета-версию), но очень просто перейти от ввода первой программы к ее компиляции и запуску. Если вы придерживаетесь Windows, вы в конечном итоге перейдете на Visual Studio, но Dev - хорошее место для начала.

Вы можете редактировать файлы в Visual Studio (это IDE, интегрированная среда разработки, и предполагается, что она содержит абсолютно все, что вам нужно для написания программы), но вы заметите, что большинство программистов используют внешние редакторы, такие как Notepad ++, поскольку они предлагают некоторые приятные функции, которые вы обычно не получаете во встроенной IDE. Пока не беспокойтесь об этом, но попробуйте внешний редактор, такой как n ++, когда вы более знакомы с остальной частью процесса.

Да, и C в никоим образом нельзя описать как «охватывающий ключевые принципы на небольшом языке». Он определенно охватывает «ключевые принципы» - он использовался для всего под солнцем, но абсолютно огромен. Подходит ли это для новичка в наши дни, подлежит обсуждению; Это определенно даст вам хороший опыт, но не будет самым простым способом начать.

Редактировать: CodeBlocks является более современным и все еще находится в стадии разработки, поэтому может быть лучше начать с DevC ++ http://en.wikipedia.org/wiki/Codeblocks

1 голос
/ 16 мая 2009

Вот мнение человека, который годами использовал С в биомедицинских исследованиях: обработка изображений, обработка данных. ИМХО, C является крупным интеллектуальным достижением, вероятно, лучшим воплощением намерений в синтаксис. Я бы выучил С сейчас снова, если бы только начинал, даже если бы просто для того, чтобы научиться думать.

Тем не менее, я никогда даже не пытался программировать на C на MS. (Вся моя работа была над Suns и SGI.) Чтобы избежать накладных расходов, упомянутых в других ответах, я перешел на Python на MS XP / cygwin. Тем не менее, я довольно часто скучаю по краткому, выразительному синтаксису Си, и мне не хватает работы с битами и значениями, хранящимися в памяти. Обратите внимание, что даже в Python серверная часть - C, а пользовательские расширения - в C. Таким образом, если бы я захотел повторить код обработки изображений для Python, я, вероятно, все-таки написал бы C.

Извините, что MS налагает такое бремя на то, чтобы писать о самом скудном из когда-либо изобретенных языков. (Кстати, что касается редакторов, мой личный выбор - vim (как gvim), а не IDE.) (Задумывались ли вы над установкой Linux-бокса? Многое можно сказать за это в наши дни: UNIX без стоимости рабочих станций.)

1 голос
/ 15 мая 2009

на тот случай, если вы еще не поняли, как в Visual Studio, в code :: blocks также есть встроенный редактор. Вам не нужно писать в notepad ++ (если вы, конечно, не предпочитаете npp как редактор)

1 голос
/ 15 мая 2009

Для начала я бы порекомендовал создать ваш проект, редактировать и компилировать прямо в VC. Затем начните исследовать, какие команды на самом деле выполняет VC (я думаю, это будет что-то вроде вкладки «Вывод»). Вы можете делать все это в командной строке, хотя Windows не является дружественной для программиста средой.

0 голосов
/ 15 мая 2009

Попробуйте какой-нибудь более простой компилятор, например * nix gcc. Visual Studio C ++ помещает множество расширений MS в файлы кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...