![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
archimed7592 |
|
||||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 6 Всего: 93 |
Если у Вас не влезают картинки, то окройте версию для печати: опции темы -> версия для печати (или просто нажмите сюда).
Далее будет пошагово и с иллюстрациями описан процесс написания самой простой программы на С++ в среде 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 Надо что-то придумать, чтобы скороллбар находился под каждым скрином, а не внизу поста... Назад к FAQ Это сообщение отредактировал(а) bsa - 26.7.2011, 11:04 -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
||||
|
|||||
vik5252 |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
Я здесь непонял, куда пропали строки
И нужны ли они в данном коде? Также не совсем ясно, что означает указание "Открываем stdafx.h" ? Ведь фактически файл stdafx.h и так уже открыт, мы только закоментировали пару строк и пару дописали, и нажали на кнопку "сохранить" (как показано на картинке выше). Это сообщение отредактировал(а) vik5252 - 6.5.2008, 08:10 |
||||||
|
|||||||
anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: 1 Всего: 13 |
никуда они не пропали, просто в том листинге было написано только то, что надо изменить, а строки
должны остаться -------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
Romashkaz |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 5.9.2008 Репутация: нет Всего: нет |
Блин, у меня он нашёл какие-то 2 ошибки и не хочет компилировать программку :(
|
|||
|
||||
SHraybikus |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 4.9.2008 Репутация: нет Всего: нет |
попробуй ввести код иначе- проще: #include <iostream> using namespace std; void main() { cout<<" Hello Dos! "<<endl; //с переходом на новую строку } |
|||
|
||||
Rpahut |
|
|||
![]() 0xdeadbeef ![]() Профиль Группа: Участник Сообщений: 243 Регистрация: 9.4.2006 Репутация: нет Всего: 7 |
Ошибки надо исправлять. Иначе без туториала с картинками ничего не сможешь написать. Почитай чо его не устраивает и допиши. --------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею? |
|||
|
||||
Acer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: нет Всего: 8 |
Одна из причин по которой я не люблю VS ![]() |
|||
|
||||
vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 8 Всего: 56 |
ты просто не умеешь его готовить © |
|||
|
||||
Acer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: нет Всего: 8 |
||||
|
||||
cutwater |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 592 Регистрация: 24.6.2008 Репутация: 2 Всего: 10 |
Я в свое время на VS писал длительное время.... если руки ровные и с родным языком проблем нет, то все настраивается
потом открыл для себя рай линукса и gcc |
|||
|
||||
Acer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: нет Всего: 8 |
хм. Если я правильно понял, то те, кто пишут не в VS и компилируют не VS компилятором имеют кривые руки?
Это сообщение отредактировал(а) Acer - 6.9.2008, 14:06 |
|||
|
||||
vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 8 Всего: 56 |
||||
|
||||
Acer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: нет Всего: 8 |
vinter, ну хз. Да, я с этим не разбирался. Возможно настроить студию так, чтобы их не использовать?
|
|||
|
||||
vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 8 Всего: 56 |
да, в настройках проекта precompiled headers - off
|
|||
|
||||
Acer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: нет Всего: 8 |
vinter, а почему, когда при создании проекта выбираешь "Не юзать прекомпилед хеадерс", они все равно есть?
еще минус в студии(2008), после установки она занимает около 3 Gb места на диске ![]() И еще один вопрос меня мучает: к примеру, код:
Зачем _tmain, _tprintf .... ? Что это за _t ? Микросовт зохотела выделиться? ![]() |
|||
|
||||
vinter |
|
||||||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 8 Всего: 56 |
нет их, если ставишь.
2Гб, при нынешних хардах это мелочь. не хочешь не ставь
не хочешь не используй, это расширение MS. |
||||||
|
|||||||
Acer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: нет Всего: 8 |
странно... я ему одно, а он мне другое. ну ладно.
|
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 2 Всего: 121 |
Acer, тебе говорят о том, что студия достаточно хорошо поддерживает стандарты. Всё, что не входит в стандарт является расширениями самого компилятора и линкера, которые существуют для удобства или по каким-то другим причинам. Тебе никто не навязывает использование этих дополнений, надо только понимать, что ты делаешь.
-------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
Keler |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 14.9.2008 Репутация: нет Всего: нет |
Все замечательно, но когда уже запускаешь программу в папке Debug то она быстро выводиться и сразу же закрываться.Как исправить?
|
|||
|
||||
Acer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: нет Всего: 8 |
нах
Это сообщение отредактировал(а) Acer - 14.9.2008, 12:19 |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 2 Всего: 121 |
Acer
Отлично. Вывод с помощью С-функции printf, а сразу после С++ streams. За такой стиль надо наказывать ![]() Это сообщение отредактировал(а) W4FhLF - 14.9.2008, 11:52 -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
Acer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: нет Всего: 8 |
нах
Это сообщение отредактировал(а) Acer - 14.9.2008, 12:19 |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 2 Всего: 121 |
Acer, тема про С++. Зачем тут С-style?
Keler
-------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
Keler |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 14.9.2008 Репутация: нет Всего: нет |
W4FhLF
Большое спасибо |
|||
|
||||
Keler |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 14.9.2008 Репутация: нет Всего: нет |
и еще один вопрос.Такая программа не запускаться на другом компьютере.Пишет "Приложение не было запущено, поскольку оно некорректно настроено.Повторная установка приложения может решить данную проблему.
За рание спасибо. |
|||
|
||||
IKM2007 |
|
|||
![]() Зима близко ![]() ![]() Профиль Группа: Участник Сообщений: 702 Регистрация: 26.4.2008 Где: olmedreca Репутация: 3 Всего: 40 |
Какая программа?Можно по-конкретнее? Экзешник, что-ли? ![]() Это сообщение отредактировал(а) IKM2007 - 19.9.2008, 05:02 -------------------- "К чёрту обстоятельства, я создаю возможности." Брюс Ли |
|||
|
||||
Keler |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 14.9.2008 Репутация: нет Всего: нет |
извиняюсь, я имел виду вот эту программу Hello World.
|
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 2 Всего: 121 |
Нужно установить Redistributable Package версии соответствующий версии компилятора(студии)
Microsoft Visual C++ 2005 Redistributable Package (x86) Microsoft Visual C++ 2008 Redistributable Package (x86) -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
HappyLife |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 17.5.2006 Репутация: нет Всего: 8 |
Acer, Я с тобой полностью согласен.
На самом деле, VS есть за что не любить. Я читал книжку по С++ и сразу получись написать программу на Builder. Но вот пока не прочтешь документацию отдельно по VS фиг что получиться, для новичка. |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 2 Всего: 121 |
Если человек ниразу не видивший машину не сможет на ней поехать в первые 5 минут, значит машина фиговая? ![]() Это не критерий. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
HappyLife |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 17.5.2006 Репутация: нет Всего: 8 |
![]() W4FhLF, Никто не спорит. Но любить (не любить) есть нечто личное. И значить в этом плане критерии у всех свои. А значит критерий, для меня и для Acer=) |
|||
|
||||
Med |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 2.9.2008 Репутация: 1 Всего: 1 |
а как узнать версию компилятора студии? |
|||
|
||||
baltushka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 8.6.2009 Репутация: нет Всего: нет |
Не поленилась зарегестрироваться и сказать СПАСИБО!!!!!! людям, которые пишут ясно, четко, понятно и "по пунктикам". Не с первого раза, с исправлениями, что в комментариях, но наконец-то получилось запустить программу!! пусть такую простую и маленькую, но какой толк от кипы учебников и примеров, если я 3 дня уже не понимаю ошибок компилятора и никак не могу начать работу???
Спасибо! Спасибо! Спасибо! Спасибо! СпасибО! за то, что расшифровываете "умные" вещи для желающих стать такими новичков!! |
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
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 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 16.6.2009 Репутация: нет Всего: 2 |
Сегодня сел за VS++ 2008 ... выходят первые билды доволен аки слон
![]() Делал в основном приложения в Delphi на "чистом" WinAPI - пригодилось ![]() З.Ы. Как и в Коде Гир 2009 разработчики на юникод пошли ... не знаю как VS ... юникодных строк пока не касался ... но в Коде Гир 2009 они явно перемудрили ... З.Ы.Ы После форумов типа forum.delphiexpert.ru хочется Delphi забыть как страшный сон ... плееры ... ламеры ... копипаст ... ужас какой ![]() Это сообщение отредактировал(а) V0LT - 5.7.2009, 04:44 |
|||
|
||||
SergMilk |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 29.4.2009 Репутация: нет Всего: нет |
А вот вопрос, в Восьмой студии можно писать код, который будет потом и в шестой компилироваться?
Или все эти namespace несовместимы? |
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 10 Всего: 33 |
SergMilk, Дело не в Студии или в компиляторе, дело в стандарте С/С++
С каким именно компилятором совместимость интересует? -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 1 Всего: 110 |
касательно precompiled headers:
всё-таки это средство оптимизации, и выбор его по умолчанию для всего проекта - оптимизация преждевременная а пока размер проектов дойдёт до таких, когда она даёт заметный выигрыш, новичёк перестанет быть новичком ![]() кроме того вот это:
- просто ужасно такой подход формирует стиль, при котором компилируемость каждого cpp-шника зависит от содержимого соответствующего stdafx.h ИМХО, лучше бы просто отключить precompiled headers при создании проекта, чтобы не грузить новичков информацией, на данный момент не нужной... -------------------- qqq |
|||
|
||||
Леопольд |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: 3 Всего: 13 |
Абсолютно согласен. Если сразу начать пихать все хидеры в предкомпилированный, то будет трудно понять как надо организовывать проект без оного. Добавлено через 5 минут и 15 секунд А вообще, микросовтовская студия - очень хорошая IDE, удобная. Но, для изучения С++ gcc подходит лучше, более строго придерживается стандарта. -------------------- вопросов больше чем ответов |
|||
|
||||
NFK |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 22.3.2012 Где: Белово Репутация: нет Всего: нет |
Всем привет!
Первый раз сел изучать C++. В универе сказали, что программы писать надо в "VS 2008". Тут нашел простую и понятно написанную инструкцию по настройке среды при первом запуске. Хочу сразу сказать огромное автору "СПАСИБО!". Все получилось с первого раза и без ошибок. ![]() Но, как у новичка, сразу появились вопросы: 1. Почему-то у меня не отображаются скрины в посте автора, поэтому действовал по тексту. ![]() 2. Сорри, что туплю, но для чего именно делается данное действие? Это сообщение отредактировал(а) NFK - 22.3.2012, 11:03 |
|||
|
||||
borisbn |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
Все WinAPI-функции, работающие со строками (почти все) описаны следующим образом:
Т.к. огромное количество примеров в интернете работает с char*, с std::string и т.п., а также, если учесть, что новичкам не нужно думать о i18n, то указанное действие - вполне логичный совет. Не отключая unicode, такие конструкции не будут работать:
придётся писать одним из двух способов
В общем - правильный совет для новичков. -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||||
|
|||||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |