VSCode配置C/C++环境总结
网上有很多vscode配置C++的教程,在这里写下我的问题和总结
问题:
安装了VScode为什么还不能运行C++程序?
visual studio code 是一款跨平台源代码编辑器。它是编辑器不是编译器,打开cpp文件只是进行文本编辑,不能编译运行。
安装了VSCode中的C/C++插件,为什么还不能运行C++程序?
VSCode中的C/C++插件只是帮助我们写代码(高亮、提示、自动补全等),并不能编译。所以要运行C++程序,需要再安装编译器。而gcc是一个好的选择。
gcc是什么?
gcc是一组编译器套件(一个大佬说,gcc支持的多,应用的广,而且免费)。如何理解gcc?这要从操作系统的历史讲起。
1969年,Ken Thompson用汇编语言写出了Unix的原型Unics。当时计算机的架构都不太相同,所以每次安装到不同的机器上都得要重新编写汇编语言,很不方便。后来Thompson与Ritchie合作想将Unics改以高级程序语言来编写,当时现成的高级程序语言有B语言。但是B语言所编译出来的内核性能不是很好,后来Dennis Ritchie将B语言重新改写成了C语言,再以C语言重新改写并编译了Unics的内核。最后,1973年命名并发布了Unix的正式版本。由于是用高级的C语言写的,与硬件的相关性没那么大,所以Unix很容易被移植到不同的机器上面。
Unix的第一篇文章 “The UNIX Time Sharing System”由Ken Thompson和Dennis Ritchie于1974年7月的 The Communications of the ACM发表。这是UNIX与外界的首次接触。结果引起了学术界的广泛兴趣并对其源码索取,所以,Unix第五版就以“仅用于教育目的”的协议,提供给各大学作为教学之用,成为当时操作系统课程中的范例教材。各大学公司开始通过Unix源码对Unix进行了各种各样的改进和扩展。于是,Unix开始广泛流行。
1978年,对 Unix而言是革命性的一年;因为学术界的老大柏克利大学,推出了一份以第六版为基础,加上一些改进和新功能而成的 Unix。这就是著名的“1 BSD(1st Berkeley Software Distribution)”,开创了Unix的另一个分支:BSD 系列。 同时期,AT&T成立USG,将 Unix变成商业化的产品。从此,BSD的 Unix 便和AT&T 的Unix 分庭抗礼,Unix就分为System IV和4。x BSD这两大主流,各自蓬勃发展。
1979年,因为商业的考虑,AT&T收回Unix的版权。AT&T在1979年发行的第七版Unix中,特别提到“不可对学生提供源代码”的严格限制。同时造成Unix业界之间的紧张气氛,并且也引发了很多商业纠纷。
1983年,Richard Stallman 发起 GNU 计划,这个计划的目的是:创建一个自由、开放的Unix操作系统。GNU是“GNU’s Not UNIX”的递归缩写。但是建立一个操作系统谈何容易。于是 Stallman 想:“既然操作系统太复杂,那我就先写可以在Unix上运行的软件。”后来一堆人知道了免费的GNU软件,并且实际使用后发现和原有的专利软件也差不多,于是便转而使用GNU软件,于是GNU计划逐渐打开了知名度。
并且为保证GNU软件可以自由地“使用、复制、修改和发布”,所有GNU软件都包含一份在禁止其他人添加任何限制的情况下,授权所有权利给任何人的协议条款,GNU通用公共许可证(GNU General Public License,GPL)。
虽然GNU计划逐渐打开了知名度,但是能见度还是不够。Stallman想:无论是什么软件,都得要进行编译成为二进制文件后才能执行,如果能写出一个不错的编译器,那不就是大家需要的软件了吗?因此他便开始编写C语言的编译器,那就是现在也相当有名的GCC(GNU C Compiler)。后来又扩充了了其他语言的编译器,组成了 GCC(GNU编译器套件 GNU Compiler Collection),包括C、C++、Objective-C、Fortran、Java、Ada和Go语言的前端,也包括了这些语言的库(如libstdc++、libgcj等等)。这就是我们要用的gcc啦。
1978年6月8日,Intel发布了新款16位微处理器“8086”,也同时开创了一个新时代:x86架构诞生了。x86指的是特定微处理器执行的一些计算机语言指令集,定义了芯片的基本使用规则。
1985年美国微软公司发布Microsoft Windows操作系统。
简言之,gcc是类Unix系统上的编译器,要想在windows上使用gcc,需要一些工具,例如MinGW。
什么是MinGW ?
MinGW,即 Minimalist GNU For Windows。它是一些头文件和端口库的集合,该集合允许人们在没有第三方动态链接库的情况下使用 GCC(GNU Compiler C)产生 Windows 程序。实际上 MinGW 并不是一个 C/C++ 编译器,而是一套 GNU 工具集合。除开 GCC (GNU 编译器集合) 以外,MinGW 还包含有一些其他的 GNU 程序开发工具 (比如 gawk bison 等等)。
简言之,MinGW包含gcc编译器,所以我们需要使用它。
总结
VS2017太大,写个小算法也要创建项目。所以想用个轻量级的工具。听说vscode挺好用的,只是想使用vscode写写代码,但是安装了才发现要装其他东西,而又不懂为什么要装,也不知道是啥玩意。几乎花了一整天的时间了解这些东西。不懂的还很多,加油吧。
最终安装过程:
- VSCode
- VSCode中的插件:Chinese,C/C++,Code Runner,Include Autocomplete
- MinGW64(包括环境变量)
参考:
- CSDN众多大佬的博客(太多了)
- 鸟哥的Linux私房菜(前面讲Linux历史的部分)
- VSCode配置C++编写环境
- Vscode C/C++环境配置
- 整理:Visual Studio Code (vscode) 配置C、C++环境/编写运行C、C++(Windows)
- VSCODE如何配置C/C++环境,以及解决中文乱码
- Win10环境下配置VScode的C++编译环境
- ubuntu 16.04 VSCode 配置C++开发环境
- vscode c++ 的环境配置 (完美版)
- [置顶] win10下配置VS Code C/C++编译环境(TDM-GCC)
- VSCode下C++环境的配置
- VScode配置C++编译环境
- windows 10环境下 使用 msys2 + vs code 配置 c++ 的编译环境(转)
- VSCode 配置C/C++开发环境
- 在debian中安装vs code及配置C/C++环境
- 整理:Visual Studio Code (vscode) 配置C、C++环境/编写运行C、C++(Windows)
- 【学习笔记】在VSCode上配置typescript + nodejs 开发环境
- VSCode 配置Java环境
- Visual Studio Code 配置C/C++环境
- 20171231 Ubuntu+Anaconda+VSCode配置多Python开发环境
- WIN10更新后VS2017 c++命令行编译环境设置及editplus配置
- Win10下Nao机器人的C++开发平台搭建环境配置流程,这学期综合实践的内容,做了一个星期,总算做出来了,写个总结吧哈哈