更新时间:2022-03-17 05:44:37
本节书摘来自华章计算机《C语言编程魔法书:基于C11标准》一书中的第3章,第3.1节,作者: 陈轶 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
我们在第2章讲述了学习C语言所必需的一些预备知识。本章将给大家介绍常用桌面操作系统下的C语言环境搭建。这里所讲述的C语言编译器以及集成开发环境(IDE)都是可合法免费下载的,本书不鼓励各位使用盗版或破解软件,所以下面会列出下载这些合法免费软件的官方链接,大家把编程环境搭建完之后即可上机实践编程。
Windows操作系统下默认不自带任何C语言编译器,大家必须从网上下载自己所需要的C语言编译器。如果各位想通过C语言开发Windows系统平台相关的应用,或者主要想在Windows平台对C语言程序进行调试,那么往往首选Visual Studio Community。这款开发环境是免费的,里面自带了微软自家的C语言编译器——简称为MSVC。不过当前MSVC无法支持最新的C11标准新特性,而且即便是C99标准也是支持得比较有限,所以它并不适合学习C11最新标准。但对于C语言初学者而言,这款集成开发环境还是非常适合的。幸运的是,2017年3月微软最新推出的Visual Studio Community 2017包含了Clang编译器前端工具,如果我们勾选安装的话即可使用Clang来作为C语言编译器。尽管Visual Studio下的Clang编译器尚处于试验阶段,但大部分功能都可用了。目前笔者测试下来,它对原子操作还没支持好,另外像UTF-8、UTF-16等字符编码问题还与Windows操作系统本身相关,所以要涉及这些问题的话,我们只能使用系统特定的接口去解决或者使用下面提到的MinGW以及Clang官方提供的编译工具链去解决。
所以,如果大家想在Windows操作系统下学习更为完整的C11标准最新特性,那么建议下载MinGW,如果是64位的Windows系统的话则***下载Mingw-w64。如果还想学习Clang编译器语法扩展的话,也可以再下载单独的Clang编译器。
3.1.1 安装Visual Studio Community 2017
Visual Studio Community最新版本可在微软的Visual Studio官方网站下载:
https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=Community&rel=15。
当我们下载好Visual Studio Community的安装程序之后,将它打开运行。随后会看到一个选择安装组件的对话框。我们在该对话框的右侧能看到已经勾选上的组件以及一些没有勾选上的组件。这里我们必须勾选上“Clang/C2(实验)”这一项,如图3-1所示。因为不安装Clang,后面就无法用它编译C源代码。
随后我们会看到新建项目的对话框。在左侧边栏中找到“Visual C++”,然后选中“Win32”,随后在中间栏选择“Win32 Console Application”,最后,在底下输入此工程创建后存放的目录路径以及工程名,如图3-3所示。
点击“OK”按钮后进入应用设置向导界面,如图3-4所示。
我们看到图3-4这个界面时,先别着急点击“下一步”按钮,应先点击左边边栏中的“应用程序设置”,对此进行初步配置。然后进入图3-5所示的界面。
图3-5所示的界面中,在“附加选项”中,先取消勾选“预编译头”,然后勾选“空项目”。最后,点击“完成”按钮进入到我们所创建的cdemo项目工程的主界面。此时,整个工程是空的,只有文件夹而没有任何文件,需要手工新建C源文件。用鼠标右键单击“源文件”,选择“添加”,然后再点击“新建项”,如图3-6所示。
在随后弹出的如图3-7所示的对话框中,选中中间栏中的“C++文件(.cpp)”那一项,然后在底下“名称”一栏输入源文件名。
注意: 这里需要注意,默认文件后缀名是.cpp,即C++源文件,因为Visual C++默认采用C++编程语言,因此我们这里要手工填写.c文件后缀名,使得后续我们用C编译器进行编译构建整个控制台应用。
完成之后,我们点击“添加”按钮,然后再次进入工程主界面,此时即可看到C源文件的编辑界面了。
我们在进入源文件编辑界面后,先对Visual Studio的文本编辑选项做些处理,以便于我们后续可以流畅地编写代码。如图3-8所示,我们在上面的菜单栏找到“工具”,然后选择“选项”。
点击进入后能看到如图3-9所示的对话框。在左边栏找到“文本编辑器”这个选项,然后将它展开,选中“所有语言”,随后我们勾选上“行号”,这样,在编辑每个文本文件时都能看到行号,便于我们查找代码中的语法错误以及调试代码用。
最后,再选中“制表符”选项,对制表符进行设置,如图3-10所示。习惯上,我们一般将Tab Size设置为4个半角字符,缩进大小也是4个半角字符,然后每个制表符用4个空格代替,这样用其他编辑器浏览Visual Studio编辑过的源文件也不会导致格式错乱。
接下来我们设置当前的项目工程的属性选项。我们找到菜单栏的“项目”,然后点击“cdemo属性”,如图3-11所示。
随后我们展开C/C++这一项,此时仍然需要先将左上角的“配置”设置为“所有配置”。然后找到“语言”,将“C语言标准”设置为GNU11标准。这样我们就能在Visual Studio Community集成开发环境下编写调试大部分基于GNU11标准的C语言代码了。设置如图3-13所示。
全都设置完成之后,我们就可以编写第一个C语言程序了。同一般C语言教程一样,我们这里也通过输出一个“Hello, world!”字样,作为第一个C语言代码的演示程序。我们输入图3-14中所示的代码,然后点击工具栏中的绿色三角箭头(图3-14中用矩形框圈出)即可编译运行了。在程序最后的getchar()作用在于:弹出的控制台应用不会在程序终止时马上自动关闭,而是等用户输入一个回车时再关闭。
在图3-14所示的界面中,椭圆圈出来的部分用于设置当前程序以调试模式构建还是以发布模式构建。如果以调试模式构建,我们可以利用Visual Studio内建的调试器做断点跟踪,查看局部对象与全局对象状态以及寄存器状态等,便于调试程序。如果以发布模式构建,那么当前程序会被大幅优化,使得程序运行性能大幅提升,但难以调试。图3-14中,中间用矩形框圈出的部分是设置当前目标程序的执行模式,默认为x86,即32位执行模式。这里我们将它设置成了64位执行模式。
3.1.2 安装MinGW编译器
MinGW编译器是著名开源C语言编译器GCC对Windows操作系统的一个移植版本。通过MinGW,我们就可以在Windows下享用大部分GCC编译器所带来的强大功能了。这对跨平台的C语言开发而言十分有用。下面我们就来介绍如何下载安装MinGW编译器。
首先,我们直接进入这个网址下载安装文件: http://sourceforge.net/projects/mingw/f?iles/latest/download?source=f?iles 。这个文件非常小,因为MinGW采用的是在线安装模式,萃取线上各个最新release版本的组件进行下载。
然后,我们双击安装包,初步安装完毕后弹出对话框如图3-15所示。绿色进度条表示已经安装好了。
全都选择好之后,我们最后更新刚选好的安装包。我们在菜单栏选中“Installation”,然后点击“Update Catalogue”,如图3-17所示。
之后会弹出如图3-18所示的界面,点击最左边的“Review Changes”按钮,会弹出如图3-19所示的对话框。
点击“Apply”按钮之后,就会下载安装设置更新后的安装包。等待全都安装完毕后,点击“Close”按钮,退出整个安装程序。
安装结束后,不要着急使用,而是先将MinGW的bin文件夹注册到环境变量中。先打开“文件资源管理器”,在左侧栏中找到“此电脑”或“我的电脑”,鼠标右键单击它,选择“属性”,进入后点击左侧的“高级系统设置”,如图3-20所示。
进入图3-20的对话框之后,点击“环境变量”按钮,进入到“环境变量”对话框。我们在“系统变量”区域选中“Path”变量,然后点击“编辑”按钮,弹出“编辑系统变量”对话框。在“变量值”中往后添加刚才安装后的MinGW中的bin文件夹所在目录。在环境变量中的每个值之间用半角分号“;”进行分隔,如图3-21所示。
我们首先在LLVM Clang官网下载最新稳定发布版本的Clang安装包: http://llvm.org/releases/download.html 。然后,要注意的是选择32位版本,如图3-23所示。