Зазвичай програміст C++ починає зі створення програми Hello, world!, яка запускається з командного рядка. Це те, що ви створюєте Visual Studio на цьому кроці.

Необхідні компоненти

  • Встановіть та запустіть на своєму комп'ютері Visual Studio з робочим навантаженням Розробка класичних програм на C++. Якщо встановлення ще не виконано, див. статтю Установка підтримки C++ у Visual Studio

Створення проекту програми

Visual Studio використовує проекти, щоб упорядкувати код для програми, та рішення, щоб упорядкувати проекти Проект містить всі параметри, конфігурації та правила, які використовуються для складання програми. Він керує зв'язком між усіма файлами проекту та будь-якими зовнішніми файлами. Щоб створити програму, спочатку створіть проект та рішення.

  1. У Visual Studio відкрийте меню "Файл" та виберіть "Створити > проект ", щоб відкрити діалогове вікно "Створити проект ". Виберіть шаблон Консольний додаток з тегами C++, Windows і Консоль, а потім натисніть кнопку Далі.

Діалогове вікно створення проекту з вибраним шаблоном консольної програми. Цей шаблон каже: запуск коду у терміналі Windows. За промовчанням виводить hello world. Містить теги c++, Windows та консоль.

Діалогове вікно "Налаштування нового проекту" за допомогою HelloWorld, введеного в полі "Ім'я проекту".

Visual Studio створить проект. Ви можете приступати до додавання та зміни вихідного коду. За замовчуванням шаблон консольної програми надає вихідний код Hello World, як показано нижче.

Відображає новий проект. Файл HelloWorld.cpp відкритий, відображаючи стандартний код, включений до цього шаблону.Цей код складається з #include iostream та функції main(), що містить рядок: std::cout

  1. У Visual Studio відкрийте меню "Файлі виберіть новий проект, щоб відкрити діалогове вікно "Новий > проект“.
  2. У діалоговому вікні "Новий проектвиберіть "Встановлений > Visual C++", якщо він ще не вибраний, а потім виберіть шаблон "Порожній проект". У полі Ім'я введіть HelloWorld. Натисніть кнопку ОК, щоб створити проект.

Visual Studio створить пустий проект. Ви можете розпочати його налаштування відповідно до типу створюваної програми та додавання файлів вихідного коду. Ви зробите це далі.

Налаштування проекту як консольної програми

Visual Studio дозволяє створювати програми та компоненти різних типів як для Windows, так і для інших платформ. Шаблон Порожній проект не визначає тип створюваної програми. Консольний додаток — це програма, яка виконується у консолі або у вікні командного рядка. Щоб створити його, необхідно повідомити Visual Studio, що програма використовуватиме підсистему консолі.

  1. У Visual Studio у меню Проект виберіть пункт Властивості, щоб відкрити діалогове вікно Сторінки властивостей HelloWorld.
  2. У діалоговому вікні "Сторінки властивостей властивостей" виберіть "Система компонувальника > властивостей > конфігурації" та виберіть поле редагування поруч із властивістю підсистеми. У меню, що розкривається, виберіть пункт Консоль (/SUBSYSTEM:CONSOLE). Натисніть ОК, щоб зберегти зміни.

Тепер Visual Studio знає, що проект, що створюється, призначений для виконання у вікні консолі. Потім додайте файл вихідного коду та введіть код програми.

Додавання файлу вихідного коду

  1. У оглядачі рішень виберіть проект HelloWorld. У меню Проект виберіть команду Додати новий елемент, щоб відкрити діалогове вікно Додавання нового елемента.
  2. У діалоговому вікні Додавання нового елемента виберіть варіант Visual C++ у полі Встановленіякщо він ще не обраний. У центральній області виберіть Файл C++ (.cpp). Змініть ім'я на HelloWorld.cpp. Натисніть кнопку Додати, щоб закрити діалогове вікно та створити файл.

Visual Studio створить порожній файл вихідного коду і відкриє його у вікні редактора, де можна ввести код.

Додавання коду до вихідного коду

Коли код у редакторі буде виглядати таким чином, ви можете перейти до наступного кроку та розпочати розробку програми.

Наступні кроки

Посібник із усунення несправностей

Тут наведено рішення найпоширеніших проблем, які можуть виникнути під час створення першого проекту C++.

Створення проекту програми: проблеми

У діалоговому вікні Новий проект має бути шаблон Консольний додаток з тегами C++, Windows і Консоль. Якщо його немає, можливі дві причини. Він може бути фільтрований зі списку або не встановлений. Спочатку перевірте списки фільтрів у верхній частині списку шаблонів. Виберіть фільтри C++, Windows і Консоль. Має з'явитися шаблон консольної програми C++. Якщо цього не сталося, значить, робоче навантаження Розробка класичних додатків на C++ не встановлено.

Щоб встановити робоче навантаження Розробка класичних додатків на C++, можна запустити інсталятор прямо з діалогового вікна Новий проект. Щоб запустити інсталятор, клацніть посилання Встановлення інших засобів та компонентів у списку шаблонів. Якщо у діалоговому вікні Контроль облікових записів користувачів запитуються дозволи, виберіть Так. В установнику має бути обране робоче навантаження Розробка класичних додатків на C++. Виберіть Змінити, щоб оновити інсталяцію Visual Studio.

Якщо проект вже існує, виберіть інше ім'я для проекту. Ви також можете видалити існуючий проект і повторити спробу. Щоб видалити існуючий проект, видаліть папку рішення (папку, що містить файл helloworld.sln) у провідник.

Якщо у діалоговому вікні Новий проект у списку Встановлені немає елемента Visual C++, можливо, у вашій копії Visual Studio не встановлено робоче навантаження Розробка класичних додатків на C++. Інсталятор можна запустити прямо з діалогового вікна Новий проект. Щоб знову запустити інсталятор, клацніть посилання Відкрити Visual Studio Installer. Якщо у діалоговому вікні Контроль облікових записів користувачів запитуються дозволи, виберіть Так. За потреби оновіть інсталятор. В установнику має бути обране робоче навантаження Розробка класичних додатків на C++. Натисніть кнопку ОК, щоб оновити інсталяцію Visual Studio.

Якщо проект вже існує, виберіть інше ім'я для проекту. Ви також можете видалити існуючий проект і повторити спробу. Щоб видалити існуючий проект, видаліть папку рішення (папку, що містить файл helloworld.sln) у провідник.

Налаштування проекту як консольної програми: проблеми

Якщо у списку Властивості конфігурації немає елемента Компонувальник, натисніть кнопку Скасування, щоб закрити діалогове вікно Сторінки властивостей. Перед повторною спробою переконайтеся, що в оглядачі рішень обраний проект HelloWorld. Не вибирайте рішення HelloWorld або інший об'єкт у оглядачі рішень.

Список, що розкривається, не відкривається в полі властивості Підсистема, доки не буде вибрано властивість. Натисніть поле введення, щоб вибрати його. Можна також послідовно переходити по елементах керування у діалоговому вікні за допомогою кнопки TAB, поки не буде виділено поле Підсистема. Клацніть список, що розкривається, або натисніть клавіші ALT+стрілка внизвідкрити його.

Додавання файлу вихідного коду: проблеми

Файлу вихідного коду можна спокійно надати інше ім'я. Однак не додавайте до проекту декілька файлів з однаковим кодом.

Якщо ви додали до проекту файл неправильного типу, наприклад файл заголовка, видаліть його та спробуйте ще раз. Щоб видалити файл, виберіть його в оглядачі рішень. Потім натисніть клавішу DELETE.

Додавання коду до вихідного коду: проблеми

Якщо ви випадково закрили вікно редактора з вихідним кодом, його можна легко відкрити знову. Щоб зробити це, двічі клацніть файл HelloWorld.cpp у вікні оглядача рішень.

Якщо в редакторі вихідного коду будь-які елементи підкреслені червоною хвилястою лінією, перевірте, чи відповідають їх написання, пунктуація та регістр символів, що використовуються в прикладі. У коді на C++ регістр має значення.

Створення проекту консольної програми С++ - Kozak

Я чув, що Visual Studio можна програмувати на С, створюючи С++ проект і перейменовуючи файл з кодом у формат *.c. Підкажіть, компілятор повністю підтримує С чи все ж таки є якісь прикрі обмеження? Наприклад, я помітив, що не компілюються програми з printf, scanf, gets. Компілятор вимагає використовувати безпечні функції постфіксу _s (Приклад gets_s).

31.3k 13 13 золотих знаків 99 99 срібних знаків 160 160 бронзових знаків
24.8k 14 14 золотих знаків 76 76 срібних знаків 189 189 бронзових знаків

1 відповідь 1

Visual Studio повністю стандарт C99 не підтримує, хоча багато чого підтримується. printf , scanf – підтримуються, просто Вам видаються попередження, що вони безпечні. Тому, строго кажучи, повноцінно (тобто з використанням усіх доступних фіч) на C, використовуючи Visual Studio, не можна писати. Але для багатьох завдань VS буде достатньо. Якщо я не помиляюся, ffmpeg компілюється MSVC2013, а це говорить багато про що.

Невелика цитата від Герба Саттера:

If you really need <. >Features в C95/C99/C11, що не є частиною ISO C++ <. >then we recommend that you consider using different compiler such as Intel або gcc

Оновлення: Декілька альтернативних IDE для Windows з коментарів:

Ще можна спробувати використовувати clang у Visual Studio, але я не впевнений, що цей проект виріс до релізної якості.

Оновлення 2: Т.к. моя заява про неповноцінну підтримку студією розробки мовою C викликала суперечку, наведу тут одну фічу з C99, яку студія не підтримує: VLA. Це, зрозуміло, не єдина відмінність, але одна з найяскравіших. Є ще список тут, але він не враховує, що частина C99 перекочувала C++11. Подібного списку для сучасності я не знайшов, але відмінності є і вони можуть стати каменем спотикання під час розробки. Хоча повторюся, ffmpeg студією (за заявою MS) збирається, а це говорить про те, що багато таки підтримується. Але на повну підтримку розраховувати не варто, і якщо Ви хочете використовувати C з усім функціоналом, то варто пройти повз компілятор MSVC++ – це компілятор для C++, а не C.

Створення проекту консольної програми С++ - Kozak

Visual Studio включає командний рядок C і компілятор C++. Його можна використовувати для створення всіх елементів – від базових консольних додатків до додатків універсальної платформи Windows, класичних додатків, драйверів пристроїв і компонентів .NET.

У цьому покроковому посібнику наводяться інструкції зі створення програми мовою C++ у стилі " Hello, Wolrd " у текстовому редакторі з наступною компіляцією з командного рядка. Якщо ви хочете спробувати інтегроване середовище розробки Visual Studio замість використання командного рядка, див. покрокове керівництво. Робота з проектами та рішеннями (C++) або використання інтегрованого середовища розробки Visual Studio для класичних програм C++.

У цьому покроковому посібнику замість введення показаного коду можна використовувати власну програму мовою C++. Можна також використовувати приклад коду C++ з іншої статті довідки.

Необхідні компоненти

Для виконання цього покрокового посібника необхідно встановити Visual Studio та додаткове робоче навантаження Розробка настільних додатків на C++ або Build Tools командного рядка для Visual Studio.

Visual Studio інтегроване середовище розробки (IDE). Вона підтримує повнофункціональний редактор, диспетчери ресурсів, налагоджувачі та компілятори для багатьох мов та платформ. Доступні версії включають безкоштовний випуск Visual Studio Community Edition, і вони можуть підтримувати розробку на C і C++. Відомості про завантаження та інсталяцію Visual Studio див. у статті Встановлення підтримки C++ у Visual Studio

Build Tools для Visual Studio встановлюють лише засоби, бібліотеки та компілятори командного рядка, необхідні для збирання програм C та C++.Це ідеальний варіант для створення завдань та вправ, а встановлення виконується відносно швидко. Щоб встановити лише засоби командного рядка, знайдіть Build Tools для Visual Studio на сторінці завантаження Visual Studio.

Перш ніж виконати збірку програм C або C++ у командному рядку, переконайтеся, що ці засоби встановлені і до них можна отримати доступ з командного рядка. Visual C++ має складні вимоги до середовища командного рядка для пошуку використовуваних засобів, заголовків та бібліотек. Visual C++ не можна використовувати у простому вікні командного рядка без попередньої підготовки. На щастя, Visual C++ встановлює ярлики для запуску командного рядка розробника, на якому налаштовано середовище для збірок з командного рядка. На жаль, імена ярликів командного рядка розробника та місця розташування відрізняються практично у всіх версіях Visual C++ і в різних версіях Windows. Перше завдання покрокового керівництва – знайти потрібний командний рядок.

Ярлик командного рядка розробника автоматично визначає правильні шляхи для компілятора та засобів, а також для всіх необхідних заголовків та бібліотек. Ці значення середовища необхідно задавати самостійно, якщо використовується звичайне вікно командного рядка. Для отримання додаткових відомостей див. у статті Використання набору інструментів MSVC із командного рядка. Рекомендується використовувати ярлик командного рядка розробника замість створення власного.

Відкриття командного рядка розробника

  1. Якщо ви інсталювали Visual Studio 2017 або пізнішої версії у Windows 10 або пізнішої версії, відкрийте меню "Пуск" і виберіть Всі програми. Прокрутіть вниз і відкрийте папку Visual Studio (Не додаток Visual Studio). Виберіть елемент Командний рядок розробника для VS, щоб відкрити вікно командного рядка. Якщо ви інсталювали Microsoft Visual C++ Build Tools 2015 у Windows 10 або пізнішої версії, відкрийте меню Пуск та виберіть Всі програми. Прокрутіть вниз і відкрийте папку Microsoft Visual C++ Build Tools. Виберіть елемент Командний рядок Native Tools x86 Visual C++ 2015, щоб відкрити вікно командного рядка. Також можна ввести командний рядок розробника у рядку пошуку у Windows і вибрати командний рядок, який відповідає встановленій версії Visual Studio. Відкрийте вікно командного рядка за допомогою ярлика.
  2. Потім переконайтеся, що командний рядок розробника Visual C++ правильно налаштований. У вікні командного рядка введіть cl і переконайтеся, що вихідні дані виглядають приблизно так:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise>cl Microsoft (R) C/C++ Optimizing Compiler Version 19.10.25017 для x86 Copyright (C) Microsoft Corporation. Всі права захищені. usage: cl [option. ] filename. [/ link linkoption. ] 

Можливо, існують відмінності у поточному каталозі або номерах версій. Ці значення залежать від версії Visual C++ та інстальованих оновлень. Якщо наведений вище результат схожий на відображуваний, можна розпочинати складання програм C або C++ у командному рядку.

Примітка. Якщо під час виконання команди cl з'являється повідомлення про те, що "cl не розпізнається як внутрішня або зовнішня команда, виконувана програма або пакетний файл", або виникають помилки C1034 або LNK1104, річ у тому, що ви не використовуєте командний рядок розробника або щось не так з інсталяцією Visual C++. Для продовження необхідно буде виправити помилку.

Якщо ви не можете знайти ярлик командного рядка розробника або під час введення cl з'являється повідомлення про помилку, можливо, виникла проблема з інсталяцією Visual C++.Спробуйте переінсталювати компонент Visual C++ у Visual Studio або Microsoft Visual C++ Build Tools. cl не спрацює. Додаткові відомості про встановлення Visual C++ та усунення несправностей див. у статті Встановлення Visual Studio.

Примітка. Залежно від версії Windows, інстальованої на комп'ютері, та конфігурації системи безпеки може знадобитися правою кнопкою миші відкрити контекстне меню для ярлика командного рядка розробника та вибрати пункт Запуск від імені адміністратора, щоб успішно виконати складання та запуск програми, створеної в цьому покроковому посібнику.

Створення файлу вихідного коду мовою Visual C++ та його компіляція з командного рядка

  1. У командному рядку розробника введіть md c:\hello , щоб створити каталог, а потім введіть cd c:\hello , щоб перейти до цього каталогу.
  2. У вікні командного рядка введіть notepad hello.cpp . Так.Відкриється порожнє вікно Блокнота, в якому можна ввести код для файлу hello.cpp.
  3. У вікні блокнота введіть такі рядки коду:
#include using namespace std;
c:\hello>dir Volume in drive C немає no label. 24/2016 05:37 PM 115 hello.cpp 1 File(s) 115 bytes 2 Dir(s) 571,343,446,016 bytes free 

Якщо файл вихідного коду. hello.cpp не відображається, переконайтеся, що поточний робочий каталог у командному рядку – це створений вами каталог C:\hello . Це має бути каталог, у який ви зберегли файл вихідного коду. .cpp , а не .txt . Якщо відкрити Блокнот із командного рядка за допомогою команди notepad hello.cpp , файл вихідного коду автоматично зберігається у поточному каталозі як файл .cpp . Якщо Блокнот відкрити іншим способом, його поведінка також буде іншою. За замовчуванням Блокнот додає розширення .txt нові файли при їх збереженні. Крім того, файли за замовчуванням зберігаються у каталозі Документи. Щоб зберегти файл із розширенням .cpp у Блокноті, виберіть Файл>Зберегти як. У діалоговому вікні Збереження файлу перейдіть до папки C:\hello в елементі керування ієрархічного уявлення каталогів. Потім використовуйте список "Зберегти як тип", що розкривається., щоб вибрати усі файли (*.*). Введіть hello.cpp елемент управління "Поле введення" Ім'я файлу та натисніть кнопку Зберегти, щоб зберегти файл.

c:\hello>cl /EHsc hello.cpp Microsoft (R) C/C++ Optimizing Compiler Version 19.10.25017 для x86 Copyright (C) Microsoft Corporation. Всі права захищені. hello.cpp Microsoft (R) Incremental Linker Version 14.10.25017.0 Copyright (C) Microsoft Corporation. Всі права захищені. /out:hello.exe hello.obj 

Примітка. Якщо ви отримуєте повідомлення про помилку, наприклад, "cl не розпізнається як внутрішня або зовнішня команда, виконувана програма або пакетний файл", помилка C1034 або LNK1104, командний рядок розробника налаштований неправильно. Щоб дізнатися, як вирішити цю проблему, поверніться до розділу Відкрити командний рядок розробника.

Примітка. Якщо ви отримуєте інше повідомлення про помилку або попередження компілятора або компонувальника, перевірте вихідний код, виправте помилки, збережіть його та знову запустіть компілятор.Щоб дізнатися про конкретні помилки, введіть номер помилки в полі пошуку.

Hello, world, від Visual C++! 

Наступні кроки

Цей приклад Hello, World є найпростішою програмою C++. Реальні програми зазвичай мають файли заголовків, додаткові вихідні файли та посилання на бібліотеки.

Ви можете використовувати кроки, описані в цьому покроковому посібнику C++, для створення власного коду, щоб не вводити наведений приклад. Ці кроки дозволяють зібрати безліч прикладів коду C++, які можна знайти в інших місцях. Ви можете розмістити вихідний код і зібрати програми у будь-якому доступному для запису каталозі. За промовчанням інтегроване середовище розробки Visual Studio створює проекти у папці користувача у підпапці source\repos . Старі версії можуть розміщувати проекти в папці Documents\Visual Studio\Projects .

Щоб скомпілювати програму з додатковими файлами вихідного коду, введіть їх у командному рядку, наприклад:

cl /EHsc file1.cpp file2.cpp file3.cpp

Параметр командного рядка /EHsc вказує компілятору необхідність стандартної обробки винятків C++. Інакше створені винятки можуть призвести до незнищених об'єктів та витоків ресурсів. Для отримання додаткових відомостей див. у статті /EH (модель обробки винятків).

Якщо вказати додаткові вихідні файли, компілятор використовує перший вхідний файл для створення імені програми. У такому випадку виводиться програма з ім'ям file1.exe. Щоб змінити ім'я на program1.exe, додайте параметр компонувальника /out:

cl /EHsc file1.cpp file2.cpp file3.cpp /link /out:program1.exe

Щоб автоматично перехоплювати інші помилки програмування, рекомендується виконати компіляцію за допомогою порогу попередження /W3 або /W4:

cl /W4 /EHsc file1.cpp file2.cpp file3.cpp /link /out:program1.exe

У компіляторі cl.exe є багато додаткових параметрів. Їх можна застосовувати для створення, оптимізації, налагодження та аналізу коду. Щоб переглянути короткий список, введіть cl/? у командному рядку розробника. Можна також виконувати компіляцію та компонування окремо та застосовувати параметри компонувальника у складніших сценаріях складання. Додаткові відомості про параметри та використання компілятора та компонувальника див. у довіднику зі збирання для C/C++.

Для налаштування та створення більш складних проектів у командному рядку можна використовувати NMAKE та файли makefile, MSBuild та файл проекту або CMake. Щоб отримати додаткові відомості про використання цих засобів, див. Довідник NMAKE, MSBuild і Проекти CMake у Visual Studio.

Мови C та C++ схожі, але мають відмінності. Компілятор MSVC використовує просте правило визначення мови, що використовується при компіляції коду. За промовчанням компілятор MSVC розглядає файли з розширенням .c як вихідні файли мовою С, а файли з розширенням .cpp – Як вихідні файли мовою С++. Якщо вказано параметр компілятора /TP, компілятор розглядатиме всі файли як вихідні файли мовою С++ незалежно від розширення.

Компілятор MSVC містить бібліотеку часу виконання C (CRT), яка відповідає стандарту ISO C99 із невеликими винятками. Код, що переноситься, зазвичай компілюється і виконується, як очікувалося. Деякі застарілі функції бібліотеки та кілька імен POSIX не рекомендується використовувати в компіляторі MSVC. Функції підтримуються, але найкращі імена змінилися. Щоб отримати додаткові відомості, див. Опції безпеки в CRT та Попередження компілятора (рівень 3) C4996.