{"id":21881391,"url":"https://github.com/lebedevsergeyvach/theorycppandc","last_synced_at":"2026-04-12T22:42:11.945Z","repository":{"id":249376268,"uuid":"831345012","full_name":"LebedevSergeyVach/TheoryCPPandC","owner":"LebedevSergeyVach","description":"Theoretical material on C++ and C","archived":false,"fork":false,"pushed_at":"2025-05-21T18:47:37.000Z","size":567,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-21T19:50:02.498Z","etag":null,"topics":["bash","c","cat","grep","makefile"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LebedevSergeyVach.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-07-20T09:28:48.000Z","updated_at":"2025-05-21T18:47:41.000Z","dependencies_parsed_at":"2024-09-07T15:02:41.795Z","dependency_job_id":"5913e4fc-dac3-4f64-8cf7-fd771617123a","html_url":"https://github.com/LebedevSergeyVach/TheoryCPPandC","commit_stats":null,"previous_names":["lebedevsergeyvach/theorycppandc"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/LebedevSergeyVach/TheoryCPPandC","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LebedevSergeyVach%2FTheoryCPPandC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LebedevSergeyVach%2FTheoryCPPandC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LebedevSergeyVach%2FTheoryCPPandC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LebedevSergeyVach%2FTheoryCPPandC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LebedevSergeyVach","download_url":"https://codeload.github.com/LebedevSergeyVach/TheoryCPPandC/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LebedevSergeyVach%2FTheoryCPPandC/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270385467,"owners_count":24574556,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-14T02:00:10.309Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","c","cat","grep","makefile"],"created_at":"2024-11-28T09:18:44.417Z","updated_at":"2026-04-12T22:42:06.910Z","avatar_url":"https://github.com/LebedevSergeyVach.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Theoretical material on C++ and C\n\u003ca name=\"up\"\u003e\u003c/a\u003e\n\n---\n\n## Working with the GCC compiler and other utilities\n\n### Compiling code using the **gcc** compiler\n\n#### [name] - the name of the compiled one .exe file (main.exe, main.out ...)\n\n```commandline\ngcc main.c -o [name]\n```\n\n#### Automatic file name (a.exe, a.out ...)\n\n```commandline\ngcc main.c\n```\n\n### Show additional warnings from the gcc compiler\n\n#### **-Wall -Wextra -Werror** - flags that include warnings to improve code quality and detect potential problems\n\n```commandline\ngcc -std=c11 -Wall -Wextra -Werror -pedantic main.c\n```\n\n### Running compiled code\n\n#### [name] - the name of the compiled one .exe file (main.exe, main.out ...)\n\n```commandline\n./[name]\n```\n\n### Static code analysis **cppcheck** ➜ detect potential errors and problems in the code\n\n#### [name] - the name of the compiled file (main.c ...)\n\n```commandline\ncppcheck --enable=all --suppress=missingIncludeSystem [name]\n```\n\n### Checking for memory leaks **leaks** compiled file on **Mac OS**\n\n#### [name] - the name of the compiled file (main.out ...)\n\n```commandline\nMallocStackLogging=1 leaks -q -atExit -- ./[name]\n```\n\n### Checking for memory leaks **valgrind** compiled file on **Linux**\n\n#### [name] - the name of the compiled file (main.out ...)\n\n```commandline\nvalgrind --tool=memcheck --leak-check=yes ./[name]\n```\n\n---\n\n### Formatting C code in Visual Studio Code\n\n#### Install the extension [C/C++](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools) or [Clang-Format](https://marketplace.visualstudio.com/items?itemName=xaver.clang-format) in Visual Studio Code\n\n#### **Windows/Linux**: Press **CTRL + SHIFT + P** ➜ enter **Format Document** ➜ select **C/C++ Clang-Format** or press **ALT + SHIFT + F**\n\n#### **Mac Os**: Press **SHIFT + COMMAND + P** ➜ enter **Format Document** ➜ select **C/C++ Clang-Format** or press **SHIFT + OPTION + F**\n\n\u003eFor [Clang-Format](https://marketplace.visualstudio.com/items?itemName=xaver.clang-format), you need to install ```clang-format``` itself into the operating system\n\n#### **Windows**\n\n```commandline\nchoco install llvm\n```\n\n#### **Mac Os**\n\n```commandline\nbrew install clang-format\n```\n\n#### **Arch Linux**\n\n```commandline\nsudo pacman -S clang\n```\n\n\u003eAfter installing ```Clang-Format```, the basic commands for working with the code format are\n\n#### Checking the code style\n\n```commandline\nclang-format -n main.c\n```\n\n#### Auto-formatting the code style\n\n```commandline\nclang-format -i main.c\n```\n\n---\n\n### A good course on the C programming language from MIPT teachers (Taught in the 1st year of MIPT) on [Stepik](https://stepik.org/course/57680/info)\n\n---\n\n#### [README](README.md) [UP](#up)\n\n---\n\n# Теоритический материал по C++ и C\n\n\u003ca name=\"вверх\"\u003e\u003c/a\u003e\n\n---\n\n## Работа с компилятором GCC и другими утилитами\n\n### Компилирование кода с помощью компилятора **gcc**\n\n#### [name] - название скомпилированного файла (main.exe, main.out ...)\n\n```commandline\ngcc main.c -o [name]\n```\n\n#### Автоматическое название файла (a.exe, a.out ...)\n\n```commandline\ngcc main.c\n```\n\n### Показать дополнительные предупреждения от компилятора gcc\n\n#### **-Wall -Wextra -Werror** - флаги, включающие предупреждения для повышения качества кода и обнаружения потенциальных проблем\n\n```commandline\ngcc gcc -std=c11 -Wall -Wextra -Werror -pedantic main.c\n```\n\n### Запуск скомпилированного кода\n\n#### [name for] - название скомпилированного файла (main.exe, main.out ...)\n\n```commandline\n./[name]\n```\n\n### Статический анализ кода **cppcheck** ➜ обнаружить потенциальные ошибки и проблемы в коде\n\n#### [name] - название скомпилированного файла (main.c ...)\n\n```commandline\ncppcheck --enable=all --suppress=missingIncludeSystem [name]\n```\n\n### Проверка утечки памяти **leaks** скомпилированного файла на **Mac OS**\n\n#### [name] - название скомпилированного файла (main.out ...)\n\n```commandline\nMallocStackLogging=1 leaks -q -atExit -- ./[name]\n```\n\n### Проверка утечки памяти **valgrind** скомпилированного файла на **Linux**\n\n#### [name] - название скомпилированного файла (main.out ...)\n\n```commandline\nvalgrind --tool=memcheck --leak-check=yes ./[name]\n```\n\n---\n\n### Форматирование кода на C в Visual Studio Code\n\n#### Установить расширение [C/C++](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools) или [Clang-Format](https://marketplace.visualstudio.com/items?itemName=xaver.clang-format) в Visual Studio Code\n\n#### **Windows/Linux**: Нажать комбинацию клавиш **CTRL + SHIFT + P** ➜ ввести **Format Document** ➜ выбрать**C/C++ Clang-Format** или нажать комбинацию клавиш**ALT + SHIFT + F**\n\n#### **Mac OS**: Нажать комбинацию клавиш **SHIFT + COMMAND + P** ➜ ввести **Format Document** ➜ выбрать **C/C++ Clang-Format** или нажать комбинацию клавиш**SHIFT + OPTION + F**\n\n\u003eДля [Clang-Format](https://marketplace.visualstudio.com/items?itemName=xaver.clang-format) необходимо установить сам ```clang-format``` в операционную систему\n\n#### **Windows**\n\n```commandline\nchoco install llvm\n```\n\n#### **Mac Os**\n\n```commandline\nbrew install clang-format\n```\n\n#### **Arch Linux**\n\n```commandline\nsudo pacman -S clang\n```\n\n\u003eПосле установки ```Clang-Format``` основные команды для работы с форматом кода\n\n#### Проверка стиля кода\n\n```commandline\nclang-format -n main.c\n```\n\n#### Автоформати́рование стиля кода\n\n```commandline\nclang-format -i main.c\n```\n\n---\n\n### Хороший крус по языку программирования C от преподавателей МФТИ (Читается на 1 курсе МФТИ) на [Stepik](https://stepik.org/course/57680/info)\n\n---\n\n#### [README](README.md) [ВВЕРХ](#вверх)\n\n---\n\n## Полезные расширения для **Visual Studio Code**\n\n### Основные расширения\n\n1. [**C/C++**](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools) - Основное расширение для работы с C и C++ в VSCode\n2. [**C/C++ Runner**](https://marketplace.visualstudio.com/items?itemName=franneck94.c-cpp-runner) - Упрощает запуск и отладку проектов на C и C++\n3. [**CMake Tools**](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools) - Инструменты для работы с CMake в VSCode\n\n### Инструменты форматирования и анализа кода\n\n1. [**C/C++**](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools) - Основное расширение для работы с C и C++ в VSCode\n2. [**CodeLLDB**](https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb) - Отладчик для C, C++, Rust и других языков, использующих LLVM\n3. [**Clang-Format**](https://marketplace.visualstudio.com/items?itemName=xaver.clang-format) - Инструмент форматирования кода для C, C++, Objective-C, Java, JavaScript и TypeScript\n\n### Визуальные улучшения\n\n1. [**Midnight Codium**](https://marketplace.visualstudio.com/items?itemName=mischah.midnight-codium) - Темная тема для VSCode с улучшенной контрастностью\n2. [**Atom Material Icons**](https://marketplace.visualstudio.com/items?itemName=donjayamanne.python-environment-manager) - Красивые иконки для файлов и папок в стиле Material Design\n3. [**Better C++ Syntax**](https://marketplace.visualstudio.com/items?itemName=jeff-hykin.better-cpp-syntax) - Улучшенная подсветка синтаксиса для C и C++\n\n### Инструменты разработки\n\n1. [**Russian Language Pack for Visual Studio Code**](https://marketplace.visualstudio.com/items?itemName=MS-CEINTL.vscode-language-pack-ru) - Локализация VSCode на русский язык\n2. [**GitLens**](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens) - Расширенная поддержка Git в VSCode\n3. [**Live Server**](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer) - Локальный запуск и просмотр изменений в реальном времени (полезно для разработки веб-приложений на C с использованием WebAssembly)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flebedevsergeyvach%2Ftheorycppandc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flebedevsergeyvach%2Ftheorycppandc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flebedevsergeyvach%2Ftheorycppandc/lists"}