目录
前言
注意
绝对不要有中文路径,不然可能有奇怪的bug
在VSCode
编写代码的时候,如果要实现编译操作,需要配置编译器环境–MinGW
。
而需要构建项目的话则要用到CMake
,这三者结合才能开发C语言或者C++的项目。
本篇文章暂时不介绍CMake和使用命令行,主要介绍使用图形化界面操作以及配置json文件来实现编译生成调试。
插件的安装
首先需要安装一些插件
编译器系统MinGW
MinGW
MinGW是一款在Windows平台上模拟UNIX开发环境的免费GNU工具集
,它允许用户在Windows上使用类似于Unix/Linux环境下的GNU工具,包括GCC编译器等,进而使用GCC编译器进行C语言程序的编译。MinGW的全称是“Minimalist GNU for Windows”,是一套GNU工具集合
,包括免费的Windows使用的头文件和库文件,还有程序开发工具,例如gcc、g++、make等 ,使得在Windows上进行C语言开发成为可能。
总之,MinGW(Minimalist GNU for Windows)是一个在Windows平台上的工具集合,MinGW项目提供了一套简单方便的Windows下的基于GCC程序开发环境。
GNU
GNU是一个自由的操作系统,其全称为"GNU’s Not Unix!",是一个递归缩写词。GNU工程由Richard Stallman在1983年发起,旨在创建一个完全自由的操作系统,包括内核、编译器、编辑器、桌面系统、应用程序等整个软件生态
。GNU工程的目标是构建一个类似Unix的操作系统,使用户能够自由地运行、复制、发布、研究、修改和改进软件.
GNU工程开发了许多重要的软件包,例如Emacs编辑器、GCC编译器集合、GDB调试器等
。然而,GNU工程最初并没有自己的内核,直到1991年Linus Torvalds开发了Linux内核,并在1992年与GNU软件结合,形成了完全自由的操作系统,通常被称为"GNU/Linux"或简称Linux
总的来说,GNU是一个自由的操作系统项目,通过与Linux内核的结合,形成了广泛使用的GNU/Linux操作系统
。GNU工程的目标是为用户提供完全自由的软件,推动自由软件运动的发展。
MinGW-w64
MinGW-w64是MinGW的一个变种,它不仅支持32位程序的编译,还支持64位程序的编译。MinGW-w64提供了对最新C语言标准的编译支持,并且由于其开源的特性,拥有一个活跃的社区进行持续维护。
GCC
GCC(GNU Compiler Collection):一个开源的编译器套件,支持多种编程语言,包括C、C++、Fortran等,在MinGW中被用来编译和生成Windows平台下的可执行文件。
CMake
CMake是一个跨平台的自动化构建系统,它使用配置文件(CMakeLists.txt)来生成标准的构建文件,如Unix的Makefile或Windows的Visual Studio工程文件。CMake支持多种编程语言,并且可以与多种编译器和构建工具配合使用。
以下是CMake的一些关键特性
:
-
跨平台:CMake可以在Windows、Linux、macOS等多种操作系统上运行,并且可以生成对应平台的构建系统。
-
易于使用:CMake使用一种名为CMakeLists.txt的简单脚本语言来描述项目结构和构建过程。
-
可定制:用户可以自定义CMake的构建过程,包括编译选项、链接库、目标文件等。
-
编译器无关性:CMake本身不依赖于特定的编译器,它可以与GCC、Clang、MSVC等编译器一起使用。
-
第三方库支持:CMake支持查找和使用第三方库,简化了依赖管理。
-
测试驱动:CMake支持CTest,这是一个测试驱动程序,可以用来运行项目中的测试用例。
-
包管理系统:CMake可以使用CPack来生成二进制或源代码包,方便软件的分发。
使用CMake的基本流程通
常包括以下几个步骤:
- 编写CMakeLists.txt文件,定义项目结构和构建规则。
- 使用cmake命令生成构建系统,例如Makefile或IDE工程文件。
- 使用生成的构建系统编译和链接项目,生成可执行文件或库文件。
CMake的灵活性和跨平台特性使其成为许多开源项目和大型软件项目的首选构建系统。
网上有很多关于配置CMake和MingGW的系统环境等系统配置的视频了,这里不赘述,主要关注如何调试、编译多文件。后续文章再介绍CMake。
参考配置教程
---------------------------------------------
设置C的编译选项
参考视频
打开VScode工程文件并写好代码之后,如果想要编译代码需要先配置编译选项。
打开命令面板,在 查看V - 打开命令面板
- 点击完之后,项目工程根目录下会生成.vscode文件夹
- 同时主界面会弹出 C/C++ Configuration 用以配置编译器路径等设置
配置编译器路径
更改完之后它提示智能代码提示也需要更改,也就是IntelliSense模式
IntelliSense模式
我的电脑是64位,所以选择gcc-x64
- 配置好之后c_cpp_properties.json文件就是下面这样
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.19041.0",//windows sdk版本
"compilerPath": "C:/Program Files/mingw64/bin/gcc.exe",//编译器路径 gcc
"cStandard": "c17"