Язык программирования Си является компилируемым языком программирования общего назначения со статической типизацией. Среди главных достоинств языка можно выделить три характеристики:
- Универсальность. Код может быть скомпилирован на любой платформе, для которой есть компилятор.
- Быстродействие. На сегодняшний день, язык Си обладает самой высокой скоростью выполнения программ, опережая даже современный Golang.
- Компактность. После компиляции программы готовый файл занимает минимум места.
Что бы писать программы на Си достаточно иметь любой текстовый редактор и компилятор, который переведет написанный вами текст в понятные компьютеру инструкции.
Установка MSYS2.
Для компиляции будем использовать пакет MSYS2. Скачайте установщик с официального сайта и запустите скачанный файл. Введите желаемую папку установки (короткий путь только в ASCII-символах на томе NTFS, без пробелов).
После окончания установки нажмите Finish.
Если установка прошла успешно, то откроется окно терминала UCRT64.
Ведите команду, которая установит набор инструментов MinGW-w64.
$ pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain
В окне терминала отобразится информация о пакетах, которые будут инсталлированы и программа будет ждать вашего согласия. Нажмите «Enter», чтобы продолжить установку.
После установки добавьте путь к папке bin пакета MinGW-w64 в переменные среды Windows, выполнив следующие действия:
- Нажмите сочетание клавиш Win + R и введите в строке sysdm.cpl.
- В открывшемся окне выберите вкладку "Дополнительно" и нажмите на кнопку "Переменные среды...".
- В разделе "Переменные среды пользователя" выберите переменную "Path" и нажмите «Изменить» .
- Нажмите "Создать" и добавьте в список путь до папки с MinGW-w64. Если вы использовали настройки по умолчанию, то это будет: C:\msys64\ucrt64\bin.
- Нажмите OK , а затем снова на OK в окне "Переменные среды", чтобы обновить значения Path. Заново откройте консоль, чтобы новые значения стали доступны.
Проверьте что все пакеты правильно установились. Для этого введите команды:
$ gcc --version
$ g++ --version
$ gdb --version
После каждой команды должно появится сообщение с версией установленного пакета
Теперь можно переходить к установке текстового редактора для написания кода. В качестве оптимального решения лучше использовать VisualStudioCode.. Данная программа легко настраивается для работы с любым языком программирования после установки соответствующих плагинов.
Установка и настройка VS Code.
Скачайте и установите программу. После установки добавьте расширение C++. Для этого нажмите сочетание клавиш Ctrl+Shift+X. В строке поиска введите С++ и выберите расширение от компании Microsoft C/C++ Extension Pack
Теперь создайте папку HelloWorld, а внутри нее папку .vscode с точкой перед именем. Это можно сделать при помощи команд в консоле:
mkdir HelloWorld
cd HelloWorld
mkdir .vscode
code .
После этого создайте в директории HelloWorld тестовый файл с расширением .cpp, например, hello.cpp, а в папке .vscode
файлы с конфигурациями tasks.json, settings.json, launch.json, c_cpp_properties.json
Добавьте в hello.cpp тестовый код:
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};
for (const string& word : msg)
{
cout << word << " ";
}
cout << endl;
}
В файл tasks.json
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "g++.exe build active file",
"command": "C:/msys64/ucrt64/bin/g++.exe",
"args": [
"-std=c++17",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "C:/msys64/ucrt64/bin/"
},
"problemMatcher": [
"$gcc"
],
"group": "build"
},
{
"type": "cppbuild",
"label": "C/C++: g++.exe build active file",
"command": "C:/msys64/ucrt64/bin/g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "C:/msys64/ucrt64/bin"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
]
}
В файл settings.json
{
"files.associations": {
"ostream": "cpp",
"iostream": "cpp",
"iomanip": "cpp",
"chrono": "cpp",
"iosfwd": "cpp",
"thread": "cpp",
"array": "cpp",
"string_view": "cpp",
"initializer_list": "cpp",
"utility": "cpp",
"valarray": "cpp",
"optional": "cpp",
"sstream": "cpp"
}
}
В файл launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "g++.exe build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "C:/msys64/ucrt64/bin/gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "g++.exe build active file",
"internalConsoleOptions": "neverOpen"
}
]
}
И в файл c_cpp_properties.json
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"C:/msys64/mingw64/include/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "8.1",
"compilerPath": "C:/msys64/ucrt64/bin/g++.exe",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "gcc-x86"
}
],
"version": 4
}
Теперь можно скомпилировать приложение. Наберите в терминале команду:
g++ hello.cpp -o hello.exe
или выберите RUN на верхней панеле справа
Если компиляция выдает ошибку проверьте пути до компилятора в конфигурационных файлах.
Комментарии ()