VSCode「配置C/C++环境」成年级教程

 前言

        你好,我是小莱。

        VScode的配置并不难,就是配置项找起来麻烦,其实我并不建议新人看各种VScode保姆级教程(除非你很赶时间),动手实操的过程可以提高你的信息搜索能力以及加深你对编译系统的理解。希望本文能帮助你理解VScode的运行机制,从只会看保姆级教程的宝宝成长为独当一面的战士。

原理

        首先你要分清编辑器和编译器,顾名思义一个负责文本编辑一个负责文本编译。VScode本身只是个可扩展的编辑器VS集成开发环境(Integrated Development Environment,简称IDE),集成就是什么都有了不用你管,你就写就完了。

        编辑有编辑的各种功能,比如IntelliSense感应你的输入给你自动补齐啊,各种文本高亮啊,函数跳转啊;编译就是一套编译链接的开发套件,在你点了 ▶“运行” 或者按下 Ctrl F5 的时候,后台跑一个自动化脚本给你生成一个可执行文件运行——这意味着你甚至可以不装任何语言扩展,自己写一个脚本来自动化编译运行,当然应该没人这么干。所以装 C/C++ 之类扩展就是省的你自己写这些脚本了,当然它的功能不止这个。

  • 试想一下,如果要你自己写脚本去编译,你需要些什么?

        (以C/C++为例)gcc,或者g++,对吧,下载VScode不会自带这些,要自己下载,或者借VS的来用。那么凭什么你输入gcc命令行就知道你要的是哪个gcc呢?(没下载一个都没有也没关系,先假装你有,看原理,后面再说下载的事。)

        命令行:“我不造啊,开发大哥代码里写的叫我去看环境变量,我看环境变量那地方就这一个啊”

        什么?你说你不知道什么是环境变量?环境变量分用户变量和系统变量,分别可以在一个用户和所有用户的进程之间共享。我们先来看看,左下角直接搜“环境变量”:

        就一个结果“编辑系统环境变量”,点进去,再点“环境变量”按钮,之后弹出大概这样一个界面:

        这里面有这么多环境变量,我怎么知道命令行看的是哪个?VScode编译看的又是哪个?

        简单实验一下,在用户变量或者系统变量在Path之外的地方新建——(D:\Mingw64devkit\bin是我单独下的开发套件gcc.exe目录)

        命令行找不到gcc了:

        所以结论是只能写在用户变量或系统变量的Path里面,才能让cmd.exe看到,才能像保姆级教程里写的那样gcc --version看到回显。VScode也是一个道理,第一次编译它会去环境变量找的,会提示你选一下,没有你就要找到配置项自己设一下。

        VScode:“你已经长大了,要学会自己找编译器”

        而且时代在变化,现在VS都用上LLVM和Clang了,教程还全是gcc的呢。原理你理解之后,可以试试集成clang到VScode里而不是gcc,我也没试过,也许回头可以再写一篇搞这个。

  • 到这里你应该理解VScode集成编译器是怎么回事了

        但不知道你有没有想过,为什么 g++ helloworld.cpp 不用加那些你用到的库函数文件?g++.exe自己会去找吗?去哪里找?

        因为这些文件以及包含的路径都设定好了,这些都是“编译套件”的一部分,有的地方也叫“工具集”。#include<iostream>应该是你写的第一行代码,Ctrl 单击包含的iostream,来看看iostream在哪。可以看到熟悉的namespace std和cin、cout:

        再看看string在哪,点路径最右边的“...”观察下里面有什么。是不是又看到很多熟悉的身影了:

        所以,当你使用标准库中的函数时,编译器会自动链接到相应的库。由于MinGW没有中文网站,能找到的官方资料都是英文的,所以可以看下 kimi 的总结,大差不差,主要是帮助建立对编译套件的认知:

实战教程

  1. 安装编译套件
  2. 配置编译器路径
  3. 选择编译器编译

        其实就这么简单,中间那些细节别人写过很多遍这里就不重复写了,实在有解决不了的可以参考文末那篇保姆级教程。

1. 安装编译套件

        常用编译套件有这么些:

  • MSVC (Microsoft Visual C++):这是微软开发的C/C++编译器,是Visual Studio集成开发环境的一部分。它提供了对Windows平台的优良支持,编译速度快,但对C++新标准的跟进相对较慢。

  • GCC (GNU Compiler Collection):这是一个开源编译器,支持多种编程语言,包括C、C++、Fortran、Objective-C等。GCC是大多数类Unix系统(如Linux、BSD、Mac OS X等)的标准编译器,并且可以通过MinGW在Windows上使用

  • MinGW (Minimalist GNU for Windows):这是将GCC移植到Windows平台的一套工具,允许开发者在Windows上使用GNU工具链编译C/C++程序。MinGW-w64是其更新版本,支持64位程序的编译。

  • Clang/LLVM:Clang是LLVM项目的一部分,提供了一个高性能的编译器前端,支持C、C++和Objective-C。LLVM提供了优化器和代码生成器。Clang以其出色的诊断信息和模块化设计而受到青睐。

        既然是成年级教程,当然是建议去官网安装,多锻炼锻炼,直接搜XXX install都有的:

        MinGW官网甚至还吐槽了一下:“其实,我们的源代码都是开放的,但大多数人都只想直接拿到二进制文件。”所以说,国外的大宝宝其实也不少,和咱们是差不多的。

        面对眼花缭乱的编译套件,找对应的下就可以,例如图上框出的就是支持Windows C/C++,对新人来说其实都差不多;

        从说明里可以看到这个套件里包括哪些工具:

        也可以根据VScode官网指引通过MSYS2下载器来安装工具链:

        我是在sourceforge下的,但这个网站现在不太对劲,我原来下载的地方现在空空如也,所以说看教程不如看官网,教程说不定哪天就失效了,学会自己找一手资料比什么都靠谱。

2. 配置编译器路径

        不管你施展什么神通最终下载下来编译套件之后,找到其中的编译器二进制文件所在目录,一般都在bin目录,将这个路径加入用户或者系统环境变量Path内;

        VScode要装上文的C/C++扩展。

3.选择编译器编译

        写个 helloworld 编译一下,一般会弹出选择配置,写C++程序就选g++编译器:

        注意,这时候你没法编译多文件,要配置文件改一下。也可以参考我的另一篇文章,配置自动代码格式化,也许对你有帮助。

" Kill the boy, and let the man be born. "


The End

参考资料:

Get Started with C++ and MinGW-w64 in Visual Studio Code

VScode「配置自动代码格式化C/C++」

VScode 保姆级教程参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值