Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Для новичков > Первая программа на С++ в среде Visual Studio |
Автор: archimed7592 11.4.2008, 11:20 | ||||
Если у Вас не влезают картинки, то окройте версию для печати: опции темы -> версия для печати (или просто нажмите http://forum.vingrad.ru/index.php?act=Print&client=printer&f=471&t=205782). Далее будет пошагово и с иллюстрациями описан процесс написания самой простой программы на С++ в среде Visual Studio. Примечание: инструкция создавалась с использованием Visual Studio 2008, но с тем же успехом может быть применена на версиях 2003(.NET) и 2005. Далее Visual Studio будет также упоминаться под аббревиатурой VS. Запускаем Visual Studio. Если это первый запуск, то VS может задать пару вопросов. Если Вы не знаете что ответить на эти вопросы, то просто жмите OK. В итоге у Вас должно появится такое окно. ![]() Примечание: скорее всего оно не будет пустым - будет открыта страница Start. Её можно смело закрывать. Cоздаём проект. ![]() File -> New -> Project ![]() Visual C++ -> Win32 -> Win32 Console Application -> Введите имя проекта -> OK ![]() Нажмите Finish. Выключаем в настройках проекта Юникод. ![]() Project -> Properties ![]() В выпадающем списке Configuration выбираем All Configurations. Слева щёлкаем на General. Справа в поле Character Set выбираем пункт Not Set. Жмём ОК. Прописываем необходимые заголовочные файлы в stdafx.h. Примечание: Вы можете прописать их в файле .cpp вместе с функцией main, но лучше писать их в stdafx.h для ускорения повторной компиляции. ![]() Открываем stdafx.h. Там
Пишем код программы. ![]() Открываем my first program.cpp (или как Вы назвали проект). Там
Примечание: не удаляйте строку #include "stdafx.h" - она должна быть первой строкой в любом вашем .cpp файле, иначе будете получать ошибки во время сборки проекта. Собираем проект. ![]() В главном меню(сверху) Build -> Build Solution ![]() 1. Внизу видим что сборка началась (Build started). Она закончится спустя 2-10 секунд в зависимости от производительности компьютера. 2. Убеждаемся что наш проект собрался без ошибок и предупреждений: "my first program - 0 error(s), 0 warning(s)". 3. Убеждаемся что сборка закончилась успешно: "Build: 1 succeeded". 4. В случае наличия ошибок их можно посмотреть во вкладке Error List. Запускаем проект. ![]() В главном меню(сверху) Debug -> Start Without Debugging ![]() Вы должны увидеть чёрное окно(называемое консолью) c текстом внутри "Hello world!". Примечание: можно запустить Start Debugging, но тогда программа выполниться и сразу закроется. Это произойдёт настолько быстро, что Вы даже не заметите что она вывела. Поздравляю, Вы написали, скомпилировали и запустили свою первую программу. Добавлено @ 11:25 Надо что-то придумать, чтобы скороллбар находился под каждым скрином, а не внизу поста... http://forum.vingrad.ru/index.php?show_type=forum&showtopic=269794&kw=faq-c++ |
Автор: anatox91 6.5.2008, 19:06 | ||
никуда они не пропали, просто в том листинге было написано только то, что надо изменить, а строки
должны остаться |
Автор: Romashkaz 5.9.2008, 19:52 |
Блин, у меня он нашёл какие-то 2 ошибки и не хочет компилировать программку :( |
Автор: SHraybikus 5.9.2008, 20:19 | ||
попробуй ввести код иначе- проще: #include <iostream> using namespace std; void main() { cout<<" Hello Dos! "<<endl; //с переходом на новую строку } |
Автор: Rpahut 5.9.2008, 23:26 | ||
Ошибки надо исправлять. Иначе без туториала с картинками ничего не сможешь написать. Почитай чо его не устраивает и допиши. |
Автор: Acer 6.9.2008, 07:32 | ||
Одна из причин по которой я не люблю VS ![]() |
Автор: vinter 6.9.2008, 10:50 |
ты просто не умеешь его готовить © |
Автор: Acer 6.9.2008, 12:30 | ||
желания готовить в такой кухне у меня нет |
Автор: cutwater 6.9.2008, 12:56 |
Я в свое время на VS писал длительное время.... если руки ровные и с родным языком проблем нет, то все настраивается потом открыл для себя рай линукса и gcc |
Автор: Acer 6.9.2008, 14:04 |
хм. Если я правильно понял, то те, кто пишут не в VS и компилируют не VS компилятором имеют кривые руки? |
Автор: vinter 6.9.2008, 16:43 | ||
нед, люди которые в ответ на пишут имеют не совсем ровные руки ;) |
Автор: Acer 6.9.2008, 16:49 |
vinter, ну хз. Да, я с этим не разбирался. Возможно настроить студию так, чтобы их не использовать? |
Автор: vinter 6.9.2008, 16:53 |
да, в настройках проекта precompiled headers - off |
Автор: Acer 6.9.2008, 17:38 | ||
vinter, а почему, когда при создании проекта выбираешь "Не юзать прекомпилед хеадерс", они все равно есть? еще минус в студии(2008), после установки она занимает около 3 Gb места на диске ![]() И еще один вопрос меня мучает: к примеру, код:
Зачем _tmain, _tprintf .... ? Что это за _t ? Микросовт зохотела выделиться? ![]() |
Автор: vinter 6.9.2008, 18:14 | ||||||
нет их, если ставишь.
2Гб, при нынешних хардах это мелочь. не хочешь не ставь
не хочешь не используй, это расширение MS. |
Автор: Acer 6.9.2008, 18:18 |
странно... я ему одно, а он мне другое. ну ладно. |
Автор: W4FhLF 7.9.2008, 07:09 |
Acer, тебе говорят о том, что студия достаточно хорошо поддерживает стандарты. Всё, что не входит в стандарт является расширениями самого компилятора и линкера, которые существуют для удобства или по каким-то другим причинам. Тебе никто не навязывает использование этих дополнений, надо только понимать, что ты делаешь. |
Автор: Keler 14.9.2008, 11:27 |
Все замечательно, но когда уже запускаешь программу в папке Debug то она быстро выводиться и сразу же закрываться.Как исправить? |
Автор: Acer 14.9.2008, 11:47 |
нах |
Автор: W4FhLF 14.9.2008, 11:51 | ||
Acer
Отлично. Вывод с помощью С-функции printf, а сразу после С++ streams. За такой стиль надо наказывать ![]() |
Автор: Acer 14.9.2008, 11:57 |
нах |
Автор: W4FhLF 14.9.2008, 12:05 | ||
Acer, тема про С++. Зачем тут С-style? Keler
|
Автор: Keler 14.9.2008, 12:17 |
W4FhLF Большое спасибо |
Автор: Keler 19.9.2008, 02:21 |
и еще один вопрос.Такая программа не запускаться на другом компьютере.Пишет "Приложение не было запущено, поскольку оно некорректно настроено.Повторная установка приложения может решить данную проблему. За рание спасибо. |
Автор: IKM2007 19.9.2008, 04:59 | ||
Какая программа?Можно по-конкретнее? Экзешник, что-ли? ![]() |
Автор: Keler 19.9.2008, 13:45 |
извиняюсь, я имел виду вот эту программу Hello World. |
Автор: W4FhLF 19.9.2008, 13:52 |
Нужно установить Redistributable Package версии соответствующий версии компилятора(студии) http://www.microsoft.com/downloads/details.aspx?FamilyID=32BC1BEE-A3F9-4C13-9C99-220B62A191EE&displaylang=en http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en |
Автор: HappyLife 19.9.2008, 14:09 |
Acer, Я с тобой полностью согласен. На самом деле, VS есть за что не любить. Я читал книжку по С++ и сразу получись написать программу на Builder. Но вот пока не прочтешь документацию отдельно по VS фиг что получиться, для новичка. |
Автор: W4FhLF 19.9.2008, 14:12 | ||
Если человек ниразу не видивший машину не сможет на ней поехать в первые 5 минут, значит машина фиговая? ![]() Это не критерий. |
Автор: HappyLife 19.9.2008, 16:37 |
![]() W4FhLF, Никто не спорит. Но любить (не любить) есть нечто личное. И значить в этом плане критерии у всех свои. А значит критерий, для меня и для Acer=) |
Автор: Med 20.9.2008, 01:43 | ||
а как узнать версию компилятора студии? |
Автор: baltushka 8.6.2009, 22:00 |
Не поленилась зарегестрироваться и сказать СПАСИБО!!!!!! людям, которые пишут ясно, четко, понятно и "по пунктикам". Не с первого раза, с исправлениями, что в комментариях, но наконец-то получилось запустить программу!! пусть такую простую и маленькую, но какой толк от кипы учебников и примеров, если я 3 дня уже не понимаю ошибок компилятора и никак не могу начать работу??? Спасибо! Спасибо! Спасибо! Спасибо! СпасибО! за то, что расшифровываете "умные" вещи для желающих стать такими новичков!! |
Автор: jonie 9.6.2009, 15:50 | ||
C:\Program Files\Microsoft Visual Studio 8\VC>cl Microsoft ® 32-bit C/C++ Optimizing Compiler Version 14.00.50727.762 for 80x86 из консоли "Visual Studio 20xx Command Prompt" (в пуске ищите). только вам нужна не версия компилятора, а версия CRT- это библиотека runTime-овая. Для VS2005 это 8-ая версия, для 2008 - 9-ая, 2003-7ая, VC6 - шестая. |
Автор: V0LT 5.7.2009, 04:32 |
Сегодня сел за VS++ 2008 ... выходят первые билды доволен аки слон ![]() Делал в основном приложения в Delphi на "чистом" WinAPI - пригодилось ![]() З.Ы. Как и в Коде Гир 2009 разработчики на юникод пошли ... не знаю как VS ... юникодных строк пока не касался ... но в Коде Гир 2009 они явно перемудрили ... З.Ы.Ы После форумов типа forum.delphiexpert.ru хочется Delphi забыть как страшный сон ... плееры ... ламеры ... копипаст ... ужас какой ![]() |
Автор: SergMilk 30.7.2009, 23:15 |
А вот вопрос, в Восьмой студии можно писать код, который будет потом и в шестой компилироваться? Или все эти namespace несовместимы? |
Автор: andrew_121 31.7.2009, 00:26 |
SergMilk, Дело не в Студии или в компиляторе, дело в стандарте С/С++ С каким именно компилятором совместимость интересует? |
Автор: maxim1000 31.7.2009, 08:39 | ||
касательно precompiled headers: всё-таки это средство оптимизации, и выбор его по умолчанию для всего проекта - оптимизация преждевременная а пока размер проектов дойдёт до таких, когда она даёт заметный выигрыш, новичёк перестанет быть новичком ![]() кроме того вот это:
- просто ужасно такой подход формирует стиль, при котором компилируемость каждого cpp-шника зависит от содержимого соответствующего stdafx.h ИМХО, лучше бы просто отключить precompiled headers при создании проекта, чтобы не грузить новичков информацией, на данный момент не нужной... |
Автор: Леопольд 31.7.2009, 09:34 | ||
Абсолютно согласен. Если сразу начать пихать все хидеры в предкомпилированный, то будет трудно понять как надо организовывать проект без оного. Добавлено через 5 минут и 15 секунд А вообще, микросовтовская студия - очень хорошая IDE, удобная. Но, для изучения С++ gcc подходит лучше, более строго придерживается стандарта. |
Автор: NFK 22.3.2012, 11:00 | ||
Всем привет! Первый раз сел изучать C++. В универе сказали, что программы писать надо в "VS 2008". Тут нашел простую и понятно написанную инструкцию по настройке среды при первом запуске. Хочу сразу сказать огромное автору "СПАСИБО!". Все получилось с первого раза и без ошибок. ![]() Но, как у новичка, сразу появились вопросы: 1. Почему-то у меня не отображаются скрины в посте автора, поэтому действовал по тексту. ![]() 2.
Сорри, что туплю, но для чего именно делается данное действие? |
Автор: borisbn 22.3.2012, 14:18 | ||||||
Все WinAPI-функции, работающие со строками (почти все) описаны следующим образом:
Т.к. огромное количество примеров в интернете работает с char*, с std::string и т.п., а также, если учесть, что новичкам не нужно думать о i18n, то указанное действие - вполне логичный совет. Не отключая unicode, такие конструкции не будут работать:
придётся писать одним из двух способов
В общем - правильный совет для новичков. |