开发所需的东西是及其广泛的,从知识到软硬件甚至舒适的椅子,都对开发效率有相当影响。
但是,在种种繁杂的事物中,有一些东西是万物的基础,比如语言、编辑器、编译器和代码管理工具之类。
这篇文章旨在介绍一些开发需要的工具,以及正确配置它们的方法。
本文假设读者对于 C
或 C++
有可以独立完成 Hello World!
的程度的了解。并且熟悉基本的电脑操作及一些涉及的概念。
如果在本文中见到不认识或不了解的概念或事物,请自行 百度
或 Google
开发的环境是一个比较宽泛的概念,包括了开发中涉及的各种软硬件及其设置。
一个恰当配置的开发环境可以提高工作的效率,节约宝贵的生命。
针对不同的开发任务,需要配置不同的开发环境。
这一部分将介绍一套用于 C
/ C++
的,跨平台可用的开发环境。
在开始之前,为了顺利的完成配置,让我们先了解一些基本概念。
首先命令行也是一种软件
简称 shell
或 cmd
它读取用户的输入,调用相应的程序来做出相应。
也可以将一个程序的输出传给其它程序做输入。
可以看作是其它所有程序的一层代理,转发其它程序的输入输出。
或者一种原始的 UI
以下是两种常见的 命令行 :
-
bash
-
历史悠久,使用广泛。
-
程序的输入输出都是 字符串。
-
-
powershell
-
新生事物,功能强大,但是支持者较少。
-
程序输出的是对象,有属性和方法。
-
简单理解就是具有系统生存期的变量,开机时创建,关机时销毁。
由名字和值组成。
都是字符串。
用来保存某些系统设置。
比如:
-
PATH
- 这个变量可以被看做是一个目录的列表(各项之间用字符
;
分隔)。 - 这个变量指明了当用户在命令行下输入命令时,系统应当到哪里去找这个命令的可执行文件。
- 如果没有配置的话,虽然这个软件已经安装,但是系统不知道到哪里找可执行文件,所以还是会找不到命令。
- 这个变量可以被看做是一个目录的列表(各项之间用字符
由于历史原因, Windows 下长期缺乏统一的“软件商店”。
Windows 的软件安装逻辑又与 Unix 系有许多差别,虽然多数软件有针对 Windows 的发行版,但有时需要一些调整以正常工作。
Unix 系统下,多数软件安装在 /usr/bin
下,而这个目录默认是在 PATH
里的,所以许多软件不会自动将自己的可执行文件所在的目录加入 PATH
,从而无法正常调用。
不过我们可以自己完成这缺失的一步。
右击
我的电脑
/此电脑
- 桌面上没有的话,文件资源管理器里的也可以。
选择
属性
选择左侧列表中的
高级系统设置
选择
高级
页点击下面
环境变量
的按钮。可以选择编辑系统变量或用户变量,区别是系统变量是全局的,用户变量只有自>己看得见。
找到并选中
希望修改的环境变量
,大小写无所谓的。点击
编辑
,然后新建
没有
新建
按钮,可以直接编辑值
,和已有内容用;
分隔。加入你需要的路径
当我们谈到要添加 PATH
或者 路径
时,还有一个要素是被添加的路径。
这个一般要找到刚安装的可执行文件的所在地。比如说直接全盘搜索。
GCC
并不提供单独的安装包,因为它的依赖特别多,因此通常是直接提供整个 GUN
软件环境。
这个是 经典的 Mingw
的后继者,也是经常被建议使用的软件。
但是有个问题,更新比较慢,gcc
只到 8.1。
总之,先下载。
或者从文件服务器下载zip版。
然后解压,放到合适的地方,比如说 C:/mingw
。
找到里面的 bin
目录,把这整个目录的路径加进 PATH
。
安装完毕记得测试,在命令行中执行
g++ -v
,输出 版本号 之类的调试信息为正常。
这个就要方便不少了。
还是先下载.
安装,界面是英文的。
中间会有一步问你是不是要添加 PATH
,选中就不用手动加了。
但是有个问题,搭配 clang
的调试器 lldb
还没有 Windows
版,恐怕只能输出调试。
- 指定语言标准
-std=c++11
-std=c++17
-std=c++2a
- 开启代码速度优化
-o2
- 把
warning
视为error
-Werror
- 开启更多
warning
-Wall
- 关闭某种
warning
-Wno-xxx
clang-cl 是个 clang
的修改版以兼容 cl.exe
因此,它的参数是和 cl.exe
也就是 老版 Visual Studio
的默认编译器 兼容的。
参数也有些不同。
生成 .pdb
调试信息文件以兼容 cl.exe
-Zi
允许使用 exception
-EHac
将下一个参数用 clang
的参数格式解析
-xclang