Как в visual studio писать на си
Мы можем по отдельности использовать текстовый редактор и компилятор, вручную компилировать и запускать программу в консоли или терминале, однако более удобный способ представляет использование различных сред разработки или IDE. Они, как правило, содержит встроенный текстовый редактор, имеет связь с компилятором, позволяя скомпилировать и запустить программу по одному клику мыши, а также еще множество разных вспомогательных возможностей.
В данном случае для программирования под Windows в качестве среды разработки мы будем использовать бесплатную и полнофункциональную среду Visual Studio 2019 Community, которую можно найти по адресу https://www.visualstudio.com/ru/vs/.
После загрузки и запуска установщика Visual Studio в нем необходимо отметить пункт «Разработка классических приложений на C++»:
Выбрав все необходимые пункты, нажмем ОК для запуска установки. После установки Visual Studio создадим первый проект. Для этого откроем Visual Studio. На стартовом экране выберем тип Empty Project для языка C++:

На следующем экране в поле для имени проекта дадим проекту имя HelloApp и также можно указать расположение проекта. И затем нажмем на Create для создания проекта.

Если в VS уже открыт какой-нибудь проект, то можно содать новый проект для C через меню File (Файл) -> New (Создать) -> Project. (Проект) и дальше повторить те же действия.
После этого Visual Studio создаст пустой проект. Добавим в него текстовый файл для набора исходного кода. Для этого в окне Solution Explorer (Обозреватель решений) нажмем правой кнопкой мыши на узел Source Files и в контекстом меню выберем Add -> New Item. :

Затем нам откроется окно для добавления нового элемента:

Здесь нам надо выбрать пункт C++ File(.cpp) , а внизу окна укажем для файла имя Hello.c . Как правило, исходные файлы на Си имеют расширение .с . Оно указывает, что этот файл содержит исходный код на языке С, и он будет обрабатываться соответствующим компилятором.
После добавления файла изменим опции проекта. Для этого перейдем к пункту меню Project -> Properties

Сначала в свойствах проекта установим, что это будет консольное приложение. Для этого перейдем к пункту Linker ->System и далее для поля SubSystem установим значение Console(/SUBSYSTEM:CONSOLE) , выбрав нужный элемент в списке:

После установки этого значения нажмем на кнопку «Применить», чтобы новые настройки конфигурации вступили в силу.
Также в окне свойств проекта в левой части перейдем к секции С/С++ и далее к пункту Advanced:

В правой части окна для поля Compile As установим значение Compile as C Code (/TC) . Тем самым мы говорим, чтобы по умолчанию исходный код компилировался именно как код С, а не С++. После установки этой опции нажмем на кнопку «Применить».
После добавления файла проект будет иметь следующую структуру:

Вкратце пробежимся по этой структуре. Окно Solution Explorer содержит в решение. В данном случае оно называется HelloApp. Решение может содержать несколько проектов. По умолчанию у нас один проект, который имеет то же имя — HelloApp. В проекте есть ряд узлов:
External Dependencies : отображает файлы, которые используются в файлах исходного кода, но не являются частью проекта
Header Files : предназначена для хранения заголовочных файлов с расширением .h
Resource Files : предназначена для хранения файлов ресурсов, например, изображений
Source Files : хранит файлы с исходным кодом
Теперь определим в файле Hello.c простейший код, который будет выводить строку на консоль:
Здесь использован весь тот код, который был рассмотрен в предыдущих темах про компиляцию с помощью GCC.
Теперь запустим программу. Для этого в Visual Studio нажмем на сочетание клавиш Ctrl+F5 или выберем пункт меню Debug -> Start Without Debugging :

И в итоге Visual Studio передаст исходный код компилятору, который скомпилирует из кода исполняемый файл exe, который потом будет запущен на выполнение. И мы увидим на запущенной консоли наше сообщение:

Затем в папке Debug в проекте мы можем увидеть скомпилированный файл exe, который мы можем запускать независимо от Visual Studio:
Первая программа
Д ля начала, необходимо установить программное обеспечение. В принципе не важно, каким ПО вы будете пользоваться, также как не важна и операционная система. Но в течение всего курса я буду приводить примеры на MS Visula Studio 2012 Express Edition. Visual Studio 2012 Express Edition бесплатный и его за глаза хватит для изучения всего курса. Кроме того, как показала практика, он гораздо строже относится к коду и даёт более полноценное описание ошибок и предупреждений. При изучении языка можно использовать Borland (он же CodeGEAR, он же Embarcadero и т.д.), Dev Cpp, MinGW, или gcc, или что вы ещё захотите.
Пример для MS Visual Studio
1. Открываем IDE, заходим Файл | Создать проект.
2. Выбираем консольное приложение и даём ему имя. В данном случае first_program
4. Ставим галочку «Пустой проект».
5. После чего получаем пустую структуру проекта. Добавим новый элемент: правый клик мыши по папке
«Файлы исходного кода» | Добавить | Создать элемент.
Добавляем новый cpp файл, но сохраняем его с расширением .c
Я назвал файл main.c Всё, готово, можно писать программу. Пропустите шаги для других платформ.
Borland
У меня установлен только Code Gear C++Builder 2007, но в остальных (и предыдущих) релизах всё делается также.
1. Создадим новый проект File | New | Other.
2. Добавляем консольное приложение
3. Выбираем язык си
4. Получаем готовый проект. Его необходимо сохранить с тем именем, которое захотите. До тех пор сам проект и все файлы будут иметь имена по умолчанию. Вы можете удалить то, что Borland по умолчанию прописал в тексте программы.
Пример для cc/gcc для терминала
О ткройте ваш любимый текстовый редактор и скопируйте туда код программы.
Если вы сохранили программу в файле с именем hello.c, то наберите в терминале команду
cc hello.c -o hello
gcc hello -o hello
При этом, очевидно, вы должны находиться в папке с программой. gcc создаст исполняемый файл с именем hello. Запустите его, и он выведет Hello, World!
Иногда могут возникнуть проблемы с правами доступа. Проверьте, что у вас исполняемый файл, иначе дайте себе привелегии на запуск.
chmod 760 hello
Если у вас несколько файлов, то необходимо будет перечислить имена всех си файлов по порядку. Например, если у вас есть ещё два файла simple.h и simple.c, то нужно прописать
cc hello.c simple.c -o hello
Код программы
Принято в первой программе выводить Hello, World! на экран.
Запустите программу ( Run | Run или F9 для борланда, Построение | Построить решение или F5 для MS) Программа выведет Hello, World! и будет ждать, когда вы нажмёте на любую клавишу.
Рассмотрим код подробнее. Первые две строки
директивы компилятору на подключение стандартных библиотек stdio (Standard Input Output — стандартная библиотека ввода вывода) и conio (Console Input Output — стандартная библиотека консоли вывода вывода). Расширение .h указывает, что это заголовочные файлы (header files). Компилятор копирует код библиотек conio и stdio, и даёт возможность использовать функции, описанные в этих библиотеках.
Это функция main. Она отличается от остальных функций, которые вы можете определить тем, что является точкой входа — с неё начинается выполнение программы.
Функция main имеет два параметра — число параметров argc и массив переданных параметров argv. Эти аргументы необязательные, поэтому можно их не писать. Об их использовании поговорим позже. Функция main должна возвращать целое число. Если это 0, то функция отработала без ошибок. В современном стандарте си можно не возвращать 0, и описать функцию как void main. Наша программа теперь выглядит совсем просто. Строка выводит строку Hello, World! на экран монитора. ожидает нажатия на клавишу.
Давайте сделаем что-нибудь посложнее, чтобы научиться добавлять новые файлы в программу. Сейчас для вас важно научиться добавлять новые файлы, если часть кода останется непонятной, это не беда.
1. Создайте новый заголовочный файл в папке «Заголовочные файлы», назовите его simple.h
2. Создайте новый файл simple.c в папке «Файлы исходного кода».
3. Добавьте в simple.h
Здесь мы объявили новую функцию doSomething. У неё отсутствует тело, оно будет описано в файле simple.c. Здесь же мы подключаем и библиотеки stdio и conio
Добавьте в simple .c
Мы включаем в файл simple.c заголовочный файл. Он пишется в двойных кавычках, потому что это не файл из стандартной библиотеки. Файлы стандартной библиотеки обычно располагаются в папке include самой IDE. Если поместить туда наши файлы, то их тоже можно будет объявлять в угловых скобках. В двойных кавычках можно также прописывать абсолютные пути к файлам. Так как мы уже включили библиотеки conio и stdio в .h файле, то они «видны» и в .c файле.
Далее, в main.c
Мы подключаем только заголовочный файл. Содержимое simple.c будет добавлено автоматически. Собираем проект (F5 или F9, или что там у вас за среда. ) Если у вас всё заработало то отлично, вы научились добавлять новые файлы в проект.

Всё ещё не понятно? – пиши вопросы на ящик
[Step By Step Guide] How to set up visual studio code for C and C++ programming 2021.
Visual Studio Code is a free source-code editor made by Microsoft for Windows, Linux and macOS. Features include support for debugging, syntax highlighting, intelligent code completion, snippets, code refactoring, and embedded Git.
It currently supports hundreds of programming languages and file formats. Several common languages come supported by default (JavaScript, HTML, CSS, etc), and others gain support by adding integrated extensions. If you find a language that isn’t supported by an existing extension, the open nature of the extensions system means you can build one.
In this blog post you will learn how to set up visual studio code on your local environment for C and C++, this can get tricky but if you follow step by step you can set it up easily.
Step 1: Download Visual studio code.
Type vscode on your browser and click on the first link of the page, or just click here.
Now download the installer according to your operating system.
Step 2: Install vscode
This step is easy, accept the agreement and click next.
Check the following options as shown in above image and click next and install.
Step 3: Download extensions for visual studio code.
Once you have installed visual studio code, now its time to install some extensions. Click on the button where red arrow is pointing in above image.
Now click on C/C++ extension from Microsoft as shown in the below image. If you don’t see the extension search C/C++ and you will find it.
Install the extension.
Now we have to install another extension called Code Runner.
Now we have successfully installed code editor but we need a compiler to compile and output our code, for that we will be installing MinGW.
Step 4: Download MinGW
Type mingw on google and choose following first link as shown in the image below or Click Here.
Now click download.
Step 5: Install MinGW
Open the installer, you should see something like the below image. Click on install and choose your directory where the software should be installed and click continue.
After installing, click on continue and right click on every checkbox and choose mark for installation.
After checking all checkboxes you should see something like image below.
Now click Installation on top left corner and then choose Apply Changes. You should see something like shown in the image below.
And then click on Apply.
Once you complete the installation, you should see something like the image below.
Click close and close the installer.
Step 6: Copy Bin Path
Now open ‘This PC’ and open ‘local Disk C’ you should see mingw file and click on bin folder.
Now you have to copy the folder destination which is above the page as shown below.
Now right click and copy or just press ‘Ctrl + C’ on your keyboard.
Step 7: Environment Variables
Open ‘Control Panel’ from your start menu and click on System. If you don’t find system on your control panel just type ‘system’ on the search bar which you can find in top right corner of the control panel.
Click on Advanced system setting on right side you should see system properties as shown in the image below.
Now click on Environment Variables you should see something as shown in the image below.
Now click on the path in system variable and click on edit as shown in the image below.
Now click on new and paste the bin path that we have copied in the previous step and then click Ok.
Now click ok till there are no pop ups left.
Step 8: Let’s check if MinGW has been successfully installed or not.
Click on search button near the bottom left of windows and search for command prompt.
Exit fullscreen mode
And if you see something like the image above, voila! we did it.
If you get some error don’t worry just reinstall mingw as shown in the step 4 and step 5 and it should solve the problem.
Step 8: Let’s write our first program in C++
Hurray! we have successfully set up vscode for C and C++ now lets test it by writing our first program in vscode.
Click on ‘File’ in upper left section and choose ‘Open Folder’.
Lets make a new folder in dekstop and select the folder.
Now click on the document symbol in the side bar. If you dont see a sidebar just press Ctrl + B on keyboard.
Now make a file with a extension of .cpp as shown in the image below
Now lets type our first code. You can copy and paste the code that I have provided below.
C/C++ for Visual Studio Code
C/C++ support for Visual Studio Code is provided by a Microsoft C/C++ extension to enable cross-platform C and C++ development on Windows, Linux, and macOS.

Install the extension
- Open VS Code.
- Select the Extensions view icon on the Activity bar or use the keyboard shortcut ( ⇧⌘X (Windows, Linux Ctrl+Shift+X ) ).
- Search for ‘C++’ .
- Select Install.

After you install the extension, when you open or create a *.cpp file, you will have syntax highlighting (colorization), smart completions and hovers (IntelliSense), and error checking.

Install a compiler
C++ is a compiled language meaning your program’s source code must be translated (compiled) before it can be run on your computer. VS Code is first and foremost an editor, and relies on command-line tools to do much of the development workflow. The C/C++ extension does not include a C++ compiler or debugger. You will need to install these tools or use those already installed on your computer.
There may already be a C++ compiler and debugger provided by your academic or work development environment. Check with your instructors or colleagues for guidance on installing the recommended C++ toolset (compiler, debugger, project system, linter).
Some platforms, such as Linux or macOS, have a C++ compiler already installed. Most Linux distributions have the GNU Compiler Collection (GCC) installed and macOS users can get the Clang tools with Xcode.
Check if you have a compiler installed
Make sure your compiler executable is in your platform path ( %PATH on Windows, $PATH on Linux and macOS) so that the C/C++ extension can find it. You can check availability of your C++ tools by opening the Integrated Terminal ( ⌃` (Windows, Linux Ctrl+` ) ) in VS Code and trying to directly run the compiler.
Checking for the GCC compiler g++ :
Checking for the Clang compiler clang :
Note: If you would prefer a full Integrated Development Environment (IDE), with built-in compilation, debugging, and project templates (File > New Project), there are many options available, such as the Visual Studio Community edition.
If you don’t have a compiler installed, in the example below, we describe how to install the Minimalist GNU for Windows (MinGW) C++ tools (compiler and debugger). MinGW is a popular, free toolset for Windows. If you are running VS Code on another platform, you can read the C++ tutorials, which cover C++ configurations for Linux and macOS.
Example: Install MinGW-x64
We will install Mingw-w64 via MSYS2, which provides up-to-date native builds of GCC, Mingw-w64, and other helpful C++ tools and libraries. You can download the latest installer from the MSYS2 page or use this link to the installer.
Follow the Installation instructions on the MSYS2 website to install Mingw-w64. Take care to run each required Start menu and pacman command.
You will need to install the full Mingw-w64 toolchain ( pacman -S —needed base-devel mingw-w64-x86_64-toolchain ) to get the gdb debugger.
Add the MinGW compiler to your path
Add the path to your Mingw-w64 bin folder to the Windows PATH environment variable by using the following steps:
- In the Windows search bar, type ‘settings’ to open your Windows Settings.
- Search for Edit environment variables for your account.
- Choose the Path variable in your User variables and then select Edit.
- Select New and add the Mingw-w64 destination folder path, with \mingw64\bin appended, to the system path. The exact path depends on which version of Mingw-w64 you have installed and where you installed it. If you used the settings above to install Mingw-w64, then add this to the path: C:\msys64\mingw64\bin .
- Select OK to save the updated PATH. You will need to reopen any console windows for the new PATH location to be available.
Check your MinGW installation
To check that your Mingw-w64 tools are correctly installed and available, open a new Command Prompt and type:
If you don’t see the expected output or g++ or gdb is not a recognized command, make sure your PATH entry matches the Mingw-w64 binary location where the compiler tools are located.
If the compilers do not exist at that PATH entry, make sure you followed the instructions on the MSYS2 website to install Mingw-w64.
Hello World
To make sure the compiler is installed and configured correctly, we’ll create the simplest Hello World C++ program.
Create a folder called «HelloWorld» and open VS Code in that folder ( code . opens VS Code in the current folder):
The «code .» command opens VS Code in the current working folder, which becomes your «workspace». Accept the Workspace Trust dialog by selecting Yes, I trust the authors since this is a folder you created.
Now create a new file called helloworld.cpp with the New File button in the File Explorer or File > New File command.


Add Hello World source code
Now paste in this source code:
Now press ⌘S (Windows, Linux Ctrl+S ) to save the file. You can also enable Auto Save to automatically save your file changes, by checking Auto Save in the main File menu.
Build Hello World
Now that we have a simple C++ program, let’s build it. Select the Terminal > Run Build Task command ( ⇧⌘B (Windows, Linux Ctrl+Shift+B ) ) from the main menu.

This will display a dropdown with various compiler task options. If you are using a GCC toolset like MinGW, you would choose C/C++: g++.exe build active file.

This will compile helloworld.cpp and create an executable file called helloworld.exe , which will appear in the File Explorer.

Run Hello World
From a command prompt or a new VS Code Integrated Terminal, you can now run your program by typing «.\helloworld».

If everything is set up correctly, you should see the output «Hello World».
This has been a very simple example to help you get started with C++ development in VS Code. The next step is to try one of the tutorials listed below on your platform (Windows, Linux, or macOS) with your preferred toolset (GCC, Clang, Microsoft C++) and learn more about the Microsoft C/C++ extension’s language features such as IntelliSense, code navigation, build configuration, and debugging.
Tutorials
Get started with C++ and VS Code with tutorials for your environment:
Documentation
You can find more documentation on using the Microsoft C/C++ extension under the C++ section of the VS Code website, where you’ll find topics on:

Remote Development
VS Code and the C++ extension support Remote Development allowing you to work over SSH on a remote machine or VM, inside a Docker container, or in the Windows Subsystem for Linux (WSL).
To install support for Remote Development:
- Install the VS Code Remote Development Extension Pack.
- If the remote source files are hosted in WSL, use the WSL extension.
- If you are connecting to a remote machine with SSH, use the Remote — SSH extension.
- If the remote source files are hosted in a container (for example, Docker), use the Dev Containers extension.
Feedback
If you run into any issues or have suggestions for the Microsoft C/C++ extension, please file issues and suggestions on GitHub. If you haven’t already provided feedback, please take this quick survey to help shape this extension for your needs.
Похожие публикации:
- К какой модели обслуживания относится google colab
- Awesome photo finder что это
- Cv2 color bgr2gray как работает
- Thread 1 signal sigabrt swift как исправить
Первая программа
Теги: Первая программа на си. Азы си. Си Borland. Си Code Gear. Си Embarcadero. Си MS Visual Studio. Си MS Express.
Пишем первую программу на си
Д ля начала, необходимо установить программное обеспечение. В принципе не важно, каким ПО вы будете пользоваться, также как не важна и операционная система. Но в течение всего курса я буду приводить примеры на MS Visula Studio 2012 Express Edition. Visual Studio 2012 Express Edition бесплатный и его за глаза хватит для изучения всего курса. Кроме того, как показала практика, он гораздо строже относится к коду и даёт более полноценное описание ошибок и предупреждений. При изучении языка можно использовать Borland (он же CodeGEAR, он же Embarcadero и т.д.), Dev Cpp, MinGW, или gcc, или что вы ещё захотите.
- Пример для Visual Studio
- Пример для Borland
- Пример для cc/gcc
- Код программы
Пример для MS Visual Studio
1. Открываем IDE, заходим Файл | Создать проект.
2. Выбираем консольное приложение и даём ему имя. В данном случае first_program
4. Ставим галочку «Пустой проект».
5. После чего получаем пустую структуру проекта. Добавим новый элемент: правый клик мыши по папке
«Файлы исходного кода» | Добавить | Создать элемент.
Добавляем новый cpp файл, но сохраняем его с расширением .c
Я назвал файл main.c Всё, готово, можно писать программу. Пропустите шаги для других платформ.
Borland
У меня установлен только Code Gear C++Builder 2007, но в остальных (и предыдущих) релизах всё делается также.
1. Создадим новый проект File | New | Other.
2. Добавляем консольное приложение
3. Выбираем язык си
4. Получаем готовый проект. Его необходимо сохранить с тем именем, которое захотите. До тех пор сам проект и все файлы будут иметь имена по умолчанию. Вы можете удалить то, что Borland по умолчанию прописал в тексте программы.
Пример для cc/gcc для терминала
О ткройте ваш любимый текстовый редактор и скопируйте туда код программы.
#include int main(int argc, char* argv[])
Если вы сохранили программу в файле с именем hello.c, то наберите в терминале команду
cc hello.c -o hello
либо
gcc hello -o hello
При этом, очевидно, вы должны находиться в папке с программой. gcc создаст исполняемый файл с именем hello. Запустите его, и он выведет Hello, World!
./hello
Иногда могут возникнуть проблемы с правами доступа. Проверьте, что у вас исполняемый файл, иначе дайте себе привелегии на запуск.
chmod 760 hello
Если у вас несколько файлов, то необходимо будет перечислить имена всех си файлов по порядку. Например, если у вас есть ещё два файла simple.h и simple.c, то нужно прописать
cc hello.c simple.c -o hello
Код программы
Принято в первой программе выводить Hello, World! на экран.
#include #include int main(int argc, char* argv[])
Запустите программу ( Run | Run или F9 для борланда, Построение | Построить решение или F5 для MS) Программа выведет Hello, World! и будет ждать, когда вы нажмёте на любую клавишу.
Рассмотрим код подробнее. Первые две строки
#include #include
директивы компилятору на подключение стандартных библиотек stdio (Standard Input Output — стандартная библиотека ввода вывода) и conio (Console Input Output — стандартная библиотека консоли вывода вывода). Расширение .h указывает, что это заголовочные файлы (header files). Компилятор копирует код библиотек conio и stdio, и даёт возможность использовать функции, описанные в этих библиотеках.
int main(int argc, char* argv[])
Это функция main. Она отличается от остальных функций, которые вы можете определить тем, что является точкой входа — с неё начинается выполнение программы.
Функция main имеет два параметра — число параметров argc и массив переданных параметров argv. Эти аргументы необязательные, поэтому можно их не писать. Об их использовании поговорим позже.
#include #include int main()
Функция main должна возвращать целое число. Если это 0, то функция отработала без ошибок. В современном стандарте си можно не возвращать 0, и описать функцию как void main.
#include #include void main()
Наша программа теперь выглядит совсем просто. Строка
printf("Hello, World!");
выводит строку Hello, World! на экран монитора.
_getch()
ожидает нажатия на клавишу.
Давайте сделаем что-нибудь посложнее, чтобы научиться добавлять новые файлы в программу. Сейчас для вас важно научиться добавлять новые файлы, если часть кода останется непонятной, это не беда.
1. Создайте новый заголовочный файл в папке «Заголовочные файлы», назовите его simple.h
2. Создайте новый файл simple.c в папке «Файлы исходного кода».
3. Добавьте в simple.h
#ifndef _SIMPLE_H_ #define _SIMPLE_H_ #include #include void doSomething(); #endif
Здесь мы объявили новую функцию doSomething. У неё отсутствует тело, оно будет описано в файле simple.c. Здесь же мы подключаем и библиотеки stdio и conio
Добавьте в simple .c
#include «simple.h» void doSomething()
Мы включаем в файл simple.c заголовочный файл. Он пишется в двойных кавычках, потому что это не файл из стандартной библиотеки. Файлы стандартной библиотеки обычно располагаются в папке include самой IDE. Если поместить туда наши файлы, то их тоже можно будет объявлять в угловых скобках. В двойных кавычках можно также прописывать абсолютные пути к файлам. Так как мы уже включили библиотеки conio и stdio в .h файле, то они «видны» и в .c файле.
Далее, в main.c
#include «simple.h» int main(int argc, char* argv[])
Мы подключаем только заголовочный файл. Содержимое simple.c будет добавлено автоматически. Собираем проект (F5 или F9, или что там у вас за среда. ) Если у вас всё заработало то отлично, вы научились добавлять новые файлы в проект.
ru-Cyrl 18- tutorial Sypachev S.S. 1989-04-14 sypachev_s_s@mail.ru Stepan Sypachev students

Всё ещё не понятно? – пиши вопросы на ящик
C/C++ — создание графического интерфейса
Так вот, немного пошарил в нете, понял что есть такие штуки, как WinForms и WPF. Еще так же есть вариант winAPI. И вот тут у меня ступор — где, что и как? Помогите разобраться, какие технологии применяются для создания интерфейсов с пом.С++ в MSVS; что лучше использовать на сегодняшний день? А так же посоветуйте нормальную литературу на этот счет.
Проект в рамках университета (небольшая программка по электротехнике для расчета всяких величин по заданой схеме), если это важно.
И все же повторюсь в своем вопросе: что нужно знать и что нужно изучать, что бы начать писать GUI на С++ с пом. Visual Studio?
Отслеживать
20.2k 6 6 золотых знаков 37 37 серебряных знаков 81 81 бронзовый знак
задан 28 апр 2014 в 12:27
hamsternik hamsternik
521 3 3 золотых знака 9 9 серебряных знаков 29 29 бронзовых знаков
На сегодняшний день лучше вообще не писать графические интерфейсы на C/C++. А для обучения при первой же возможности надо уходить с винды. Если требуют курсач с MSVS, но можете сменить тему курсача на что-нибудь неграфическое — меняйте.
28 апр 2014 в 12:35
WPF — это вообще не про С++. Winforms в общем-то тоже, хотя завести его на С++ можно. Правда, если мне не изменяет память, это будет С++/CLI, что далеко не то же самое, что и собственно С++
28 апр 2014 в 12:35
Согласен, и честно — я бы только «за», к примеру писать на том же python! Но задача, к сожалению, поставлена так, что нужно(!) писать все на С++ (т.к. изучается конкретно этот язык), с использованием инструмента MSVS(вопрос — а Visual studio — это инструмент?). Вот поэтому и встал такой вопрос — что нужно знать для написания GUI с пом.С++ и майкрософтовского продукта.
28 апр 2014 в 12:38
Окей. А для чего WPF? Просто, на сколько я понял, что его можно использовать и для C++. Хотя с гугле почти 100% от общего кол-ва запросов выдает WPF в связке с C#! Ага, на сколько я понял: WinForms == C++/CLI? То есть мне нужно изучить C++/CLI, что бы уметь писать GUI?
28 апр 2014 в 12:40
Есть еще MFC, старый как то, что бывает старым, и лучше бы вам его не откапывать. И WTL, который на слуху и, кажется, я слышал о нем неплохие отзывы.
28 апр 2014 в 12:40
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Самое, что вам ближе — это MFC. WinForms — это не С++, это C++/CLI, который работает на платформе MS .Net Framework.
Беда MFC в том, что это тонкая прослойка над WinAPI там шаг влево-шаг вправо от идеологии фреймворка — пропасть.
Писать годные интерфейсы можно и нужно. Но, к счастью или несчастью, Qt здесь почти безальтернативен. Пусть он превносит в язык расширения в виде сигналов-слотов, как следствие — предобработки исходного кода MOC’ом, но это действительно юзабельный бриллиант в мире C++.
В академических целях, желательно овладевать чистым C++, в разумных пределах — WinAPI. Реальные более-менее сложные, переносимые интерфейсы можно писать wxWidget, GTKmm и иже с ними, just for fun.
Но Qt — это настоящее и будущее C++)
ЗЫ Плагин Qt позволяет писать из-под MSVS. Однако, студия враждебна к юникоду.
Шаблоны проектов и элементов Visual Studio для приложений для Windows
Visual Studio 2019 и более поздних версий предоставляет множество шаблонов проектов и элементов. Такие шаблоны помогают создавать приложения для устройств Windows 11 и Windows 10 на C# или C++. В этом разделе описаны шаблоны и приведены рекомендации по выбору одного из них для вашего сценария.
- К шаблонам проектов относятся файлы проекта, файлы кода и другие ресурсы, настроенные для создания приложения или компонента, которые может загрузить и использовать приложение.
- Шаблоны элементов — это файлы проекта, которые содержат часто используемые код и XAML, которые можно добавить в проект, чтобы ускорить разработку. Например, с помощью шаблона элемента можно добавить в приложение новое окно, страницу или элемент управления.
Дополнительные сведения об установке и настройке Visual Studio для получения доступа к этим шаблонам см. в статье Установка инструментов для Windows App SDK.
Шаблоны WinUI
Библиотека пользовательского интерфейса Windows (WinUI) — это современная нативная платформа пользовательского интерфейса, поддерживаемая приложениями для Windows, как классическими (.NET и нативные приложения Win32), так и приложениями UWP. WinUI 3 — это последняя основная версия WinUI. Это полноценная платформа пользовательского интерфейса для классических приложений для Windows.
WinUI 3 предоставляется в пакете SDK для приложений Windows. Она включает пакет VSIX для Visual Studio 2019 и более поздних версий с шаблонами проектов и элементов, которые помогут приступить к созданию приложений с помощью интерфейса на основе WinUI.
Template Studio для WinUI (C#) — это расширение Visual Studio 2022, которое ускоряет создание новых приложений WinUI в .NET с помощью пользовательского интерфейса на основе мастера. Выберите один из множества типов проектов и функций, чтобы создать адаптированный для вас шаблон проекта.
Дополнительные сведения о доступных шаблонах проектов и элементов WinUI см. в статье Шаблоны WinUI 3 в Visual Studio.
Шаблоны UWP
Visual Studio предоставляет разнообразные шаблоны проектов для создания приложений UWP с помощью C# или C++. Чтобы использовать эти шаблоны проектов, при установке Visual Studio необходимо включить рабочую нагрузку Разработка приложений для универсальной платформы Windows. Для шаблонов проектов C++ также необходимо включить дополнительный компонент средств универсальной платформы Windows C++ (v142) для рабочей нагрузки Разработка приложений для универсальной платформы Windows.
Template Studio для UWP — это расширение Visual Studio 2022, которое ускоряет создание новых приложений UWP в.NET с помощью пользовательского интерфейса на основе мастера. Выберите один из множества типов проектов и функций, чтобы создать адаптированный для вас шаблон проекта.
Шаблоны проектов для C# и UWP
Чтобы получить доступ к шаблонам проектов UWP C#, когда вы создаете проект в Visual Studio, отфильтруйте язык, выбрав C#, платформу, выбрав Windows, и тип проекта, выбрав значение UWP.

Эти шаблоны проектов можно использовать для создания приложений UWP на C#.
| Template | Description |
|---|---|
| Пустое приложение (универсальное приложение Windows) | Создает приложение UWP. Созданный проект содержит базовую страницу, производную от класса Windows.UI.Xaml.Controls.Page, с помощью которой можно приступить к созданию пользовательского интерфейса. |
| Приложение модульного тестирования (универсальное приложение Windows) | Создает проект модульного теста на C# для приложения UWP. Дополнительные сведения см. в статье Модульное тестирование кода C#. |
С помощью этих шаблонов проектов можно создавать фрагменты приложений UWP на C#.
| Template | Description |
|---|---|
| Библиотека классов (универсальное приложение Windows) | Создает управляемую библиотеку классов (DLL) на языке C#, которую могут использовать другие приложения UWP, написанные с применением управляемого кода. |
| Компонент среды выполнения Windows (универсальное приложение Windows) | Создает компонент среды выполнения Windows на C#, который может использоваться в любом приложении UWP, независимо от того, на каком языке программирования такое приложение написано. |
| Дополнительный пакет кода (универсальное приложение Windows) | Создает дополнительный пакет с исполняемым кодом C#, который может загрузить приложение. Подробные сведения см. в статье Дополнительные пакеты с исполняемым кодом. |
Шаблоны проектов для C++ и UWP
Для создания приложений UWP можно использовать две технологии C++:
- Рекомендуемая технология — C++/WinRT. Это проекция языка C++, которая полностью реализована в файлах заголовков и предназначена для предоставления эффективного и удобного доступа к современному API WinRT.
- Кроме того, можно использовать более старый набор расширений C++/CX. C++/CX по-прежнему поддерживается, но мы рекомендуем вместо него использовать C++/WinRT.
Чтобы получить доступ к шаблонам проектов UWP C++, когда вы создаете проект в Visual Studio, отфильтруйте язык, выбрав C++, платформу, выбрав Windows, и тип проекта, выбрав значение UWP.
По умолчанию рабочая нагрузка Разработка приложений для универсальной платформы Windows в Visual Studio предоставляет доступ только к шаблонам проектов C++/CX. Чтобы получить доступ к шаблонам проектов C++/WinRT, необходимо установить пакет VSIX C++/WinRT.

Эти шаблоны проектов можно использовать для создания приложений UWP на C++.
| Template | Description |
|---|---|
| Пустое приложение (C++/WinRT) | Создает приложение UWP C++/WinRT с пользовательским интерфейсом XAML. Созданный проект содержит базовую страницу, производную от класса Windows.UI.Xaml.Controls.Page, с помощью которой можно приступить к созданию пользовательского интерфейса. |
| Приложение основных компонентов (C++/WinRT) | Создает приложение UWP C++/WinRT, которое использует CoreApplication для интеграции с различными платформами пользовательского интерфейса вместо пользовательского интерфейса XAML. См. пошаговые инструкции по созданию с помощью этого шаблона проекта простой игры UWP, использующей DirectX. |
| Пустое приложение (универсальное приложение для Windows — C++/CX) | Создает приложение UWP C++/WinRT с пользовательским интерфейсом XAML. Созданный проект содержит в библиотеке WinUI базовую страницу, производную от класса Windows.UI.Xaml.Controls.Page, с помощью которой можно приступить к созданию пользовательского интерфейса. |
| Приложение DirectX 11 и XAML (универсальное приложение для Windows — C++/CX) | Создает приложение UWP, которое использует DirectX 11 и SwapChainPanel, чтобы можно было использовать элементы управления пользовательского интерфейса XAML. Дополнительные сведения см. в статье Шаблоны проектов игр DirectX. |
| Приложение DirectX 11 (универсальное приложение для Windows — C++/CX) | Создает приложение UWP, которое использует DirectX 11. Дополнительные сведения см. в статье Шаблоны проектов игр DirectX. |
| Приложение DirectX 12 (универсальное приложение для Windows — C++/CX) | Создает приложение UWP, которое использует DirectX 12. Дополнительные сведения см. в статье Шаблоны проектов игр DirectX. |
| Приложение модульных тестов (универсальное приложение для Windows — C++/CX) | Создает проект модульного теста в C++/CX для приложения UWP. Дополнительные сведения см. в статье о тестировании DLL-библиотеки C++ UWP. |
С помощью этих шаблонов проектов можно создавать фрагменты приложений UWP на C++.
| Template | Description |
|---|---|
| Компонент среды выполнения Windows (C++/WinRT) | Создает компонент среды выполнения Windows на C++/WinRT, который может использоваться в любом приложении UWP, независимо от того, на каком языке программирования такое приложение написано. |
| Компонент среды выполнения Windows (универсальное приложение Windows) | Создает компонент среды выполнения Windows на C++/CX, который может использоваться в любом приложении UWP, независимо от того, на каком языке программирования такое приложение написано. |
| Библиотека DLL (универсальные приложения для Windows) | Проект для создания библиотеки динамической компоновки (DLL), которую можно использовать в приложении UWP, на C++/CX. Дополнительные сведения см. в статье Библиотеки DLL (C++/CX). |
| Статическая библиотека (универсальные приложения для Windows) | Проект для создания статической библиотеки (LIB), которую можно использовать в приложении UWP, на C++/CX. Дополнительные сведения см. в статье Статические библиотеки (C++/CX). |
Шаблоны классических приложений C++ (Win32)
Visual Studio предоставляет разнообразные шаблоны проектов для создания классических приложений для Windows с использованием нативного C++ и прямым доступом к API Win32. Чтобы использовать эти шаблоны проектов, при установке Visual Studio необходимо включить рабочую нагрузку Разработка классических приложений на C++. Эта рабочая нагрузка включает шаблоны проектов для создания классических и консольных приложений, а также библиотек.
Рекомендуемая технология — C++/WinRT. Это проекция языка C++, которая полностью реализована в файлах заголовков и предназначена для предоставления эффективного и удобного доступа к современному API WinRT.
Шаблоны проектов для классических приложений С++
Чтобы получить доступ к шаблонам проектов C++ для классических приложений при создании нового проекта в Visual Studio, отфильтруйте язык на C++, платформу в Windows и тип проекта на desktop.

| Template | Description |
|---|---|
| Классическое приложение для Windows (C++/WinRT) | Создает клиентское приложение C++/WinRT для рабочего стола Windows. Дополнительные сведения см. в разделе Классическое приложение Windows (C++/WinRT). Для этого шаблона проекта требуется VSIX C++/WinRT. |
| Классическое приложение для Windows | Создает классическое приложение для Windows с использованием C++. Дополнительные сведения см. в пошаговом руководстве. Создание традиционного классического приложения Windows. |
| Мастер классических приложений Windows | Это пошаговый мастер, с помощью которого можно создать один из следующих типов проектов: классическое приложение для Windows, консольное приложение, библиотека динамической компоновки (DLL) или статическая библиотека. Дополнительные сведения см. в мастере рабочего стола Windows и пошаговом руководстве. Создание традиционного классического приложения Windows. |
| Проект упаковки приложений Windows | Создает проект, с помощью которого можно разработать классическое приложение в пакете MSIX. Благодаря этому пользователь получает современные методы развертывания, возможности интеграции с компонентами Windows через расширения пакетов и многое другое. Дополнительные сведения см. в статье о Проекте упаковки приложений Windows. |
Шаблоны проектов для консольных приложений С++
Чтобы получить доступ к шаблонам проектов C++ для консольных приложений, отфильтруйте язык, выбрав C++, платформу, выбрав Windows, и тип проекта, выбрав значение Console (Консольное приложение).

| Template | Description |
|---|---|
| Консольное приложение для Windows (C++/WinRT) | Создает консольное приложение C++/WinRT без пользовательского интерфейса. Дополнительные сведения см. в статье Краткое руководство по C++/WinRT. Для этого шаблона проекта требуется VSIX C++/WinRT. |
| Консольное приложение | Создает консольное приложение без пользовательского интерфейса. Дополнительные сведения см. в пошаговом руководстве по созданию стандартной программы C++ . |
| Пустой проект | Пустой проект для создания приложения, библиотеки или DLL. Необходимо добавить требуемый код или ресурсы. |
Шаблоны проектов для библиотек С++
Чтобы получить доступ к шаблонам проектов C++ для библиотек, отфильтруйте язык, выбрав C++, платформу, выбрав Windows, и тип проекта, выбрав значение Библиотека.

| Template | Description |
|---|---|
| Библиотека динамической компоновки (DLL) | Проект для создания библиотеки динамической компоновки (DLL). Дополнительные сведения см. в пошаговом руководстве. Создание и использование динамической библиотеки ссылок. |
| Статическая библиотека | Проект для создания статической библиотеки (LIB). Дополнительные сведения см. в пошаговом руководстве. Создание и использование статической библиотеки. |
Шаблоны элементов для классических приложений С++
Шаблоны проектов C++ включают множество шаблонов элементов, с помощью которых можно выполнять такие задачи, как добавление в проект новых файлов и ресурсов. Полный список см. в статье об использовании шаблонов Visual C++ в диалоговом окне «Добавление нового элемента».
Шаблоны .NET
Visual Studio предоставляет разнообразные шаблоны проектов для создания классических приложений для Windows, использующих .NET и C#. Чтобы использовать эти шаблоны проектов, при установке Visual Studio необходимо включить рабочую нагрузку Разработка классических приложений .NET.
Чтобы получить доступ к шаблонам проектов .NET C#, когда вы создаете проект в Visual Studio, отфильтруйте язык, выбрав C#, платформу, выбрав Windows, и тип проекта, выбрав Desktop (Классическое приложение).

С помощью этих шаблонов проектов можно создавать приложения с использованием C# и .NET.
| Template | Description |
|---|---|
| Приложение WPF | Создает приложение WPF, предназначенное для .NET 6 (или более поздней версии). Пошаговые инструкции по этому шаблону проекта см. в статье о создании приложения WPF. |
| Приложение WPF (.NET Framework) | Создает приложение WPF, предназначенное для .NET Framework. Пошаговое руководство по этому шаблону проекта см. в руководстве по созданию первого приложения WPF. |
| Приложение Windows Forms | Создает приложение Windows Forms, предназначенное для .NET 6 (или более поздней версии). |
| Приложение Windows Forms (.NET Framework) | Создает приложение Windows Forms, предназначенное для .NET Framework. Пошаговые инструкции по этому шаблону проекта см. в статье Создание приложения Windows Forms на C# в Visual Studio. |
| Проект упаковки приложений Windows | Создает проект, с помощью которого можно разработать приложение WPF или Windows Forms в пакете MSIX. Благодаря этому пользователь получает современные методы развертывания, возможности интеграции с компонентами Windows через расширения пакетов и многое другое. Дополнительные сведения см. в статье о Проекте упаковки приложений Windows. |
