Visual Studio 2019 的功能很强大,我们没有必要把每一个功能都学一遍。对于C语言编程的初学者而言,仅需要了解其最基本的日常使用即可。
1. 新建项目
【项目】
VS2019中所有的程序开发均需要被包含在一个项目中,一个“项目”可以包含多个C语言文件,可以包含多个功能模块。比如写一个简单的计算器程序,我们就可以首先创建的一个“计算器”项目,然后把所有代码在这个项目里面存放。等写完需要发布的时候,我们就编译这个项目,最后在这个项目里面就能生成我们需要的计算机程序。
如果你用记事本单独保存了一段代码,要执行这文件中的代码时,是没法直接用VS2019执行的,你必须先打开VS创建一个项目,然后把这个文件添加到项目中,然后才能对这段代码进行调试或者编译。
【解决方案】
“解决方案”可以理解为存放多个项目的容器。VS在你新建项目的时候,会自动给你包含到一个和项目名同名的解决方案里,这个解决方案里就包含你新建的项目。解决方案的创建是跟随项目自动建立的,一个解决方案里可以再创建/添加多个项目。
比如我们创建了一个远程聊天的客户端项目,在创建这个项目的时候,VS自动给他包含到了解决项目中。等我们客户端功能写好后,突然发现我们还需要写一个服务端程序,这个时候我们就不需要再创建另一个项目,只需要在当前的解决方案中再添加一个名为“服务端”的项目即可。等服务端写好后,我们就可以把这个解决方案作为一个整体存留。
2. 项目分类
VS2019中项目分为很多种,C语言常用的两种是“控制台应用程序”和“桌面应用程序”。“控制台应用程序”就是我们通常所讲的命令行cmd黑窗口,主要用来执行指令处理数据;“桌面应用程序”是我们最常见的,带显示界面的,比如QQ、计算器、office等,windows中大多数软件都是这类的。
由于“桌面应用程序”大多都涉及到界面编程,这里面就不单单只是C语言能实现的东西,所以后面我们主要基于“控制台应用程序”这一类进行C语言的学习。
3. 添加删除文件
我们首先按照上一节安装VS2019的时候所讲的,创建一个名为“test”的“控制台应用程序”项目。然后在左边“解决方案test”中选中“源文件”中的“test.cpp”,按键盘“Delete”键将其删除(也可以选中“test.cpp”右键菜单中选择“移除”),在删除前会有确认提示:“移除”是指把test.cpp这个文件从项目中删除,而真正的文件并没有从硬盘删除,如果需要,我们可以再找到这个文件把它添加进来。“删除”是指把test.cpp这个文件从硬盘中删除,永久不再使用。
删除后我们在“源文件”目录上右键菜单选择“添加”->“新建项”,新建一个“main.c”的文件。或者也可以右键菜单“添加”->“现有项”,从本地添加一个已存在C源码文件到项目中,这两种方式都可以。
4. 编译运行程序
我们将如下代码粘贴到main.c文件中:
#include <stdio.h>
int main()
{
printf("Hello zijieke.com");
return getchar();
}
右键左侧“test”项目名,然后选择“生成”或“重新生成”,等待观察下方“输出”窗口的提示信息,如果提示“成功 1 个,失败 0 个”,则表示代码已经正常编译了。
我们按照提示的信息找到生成的exe的位置,就可以双击运行执行程序了。
这里值得注意的是,VS2019可以编译多种编程语言,比如VB、C#、C语言、C++等等,而我们新建项目的时候,VS默认给我生成的是一个test.cpp的文件,不管名字是什么,只要后缀为cpp的文件(cpp即c plus plus,也就是C++的意思),VS都会默认用C++标准去编译你文件里面的代码,而后缀为.C的文件,VS会选择用C语言标准去编译。我们这里是要写标准的C语言程序,所以后缀我们要用.C的文件。
当然如果你一味要用CPP作为后缀,也能同样编译。通常来说,C++是C语言的扩展,所以C++编译器都能兼容C语言的编译。
等你C语言掌握的差不多了,对C++或者Windows编程也有一定了解以后,那时候不管C语言还是C++,都用CPP文件就行了。
5. Debug 模式和 Release
在编译程序前,我们可以选择顶部菜单中 Debug 或者 Release 编译方式。记得我当初在第一次遇到这两个选项的时候一脸懵逼,Debug 调试模式?Release 发布模式?那又有什么区别...
选择 Debug 模式,在写代码的时候,能够边写代码边调试;而在编译程序的时候,生成的exe文件中会额外包含很多你代码中没有写的功能,这些额外加进去的功能,是为了在你程序在运行时,万一出现错误,能够快速的找到哪里出了问题。所以这种模式下生成的 exe 文件体积一般都很大,而且一般只是在程序开发过程,或者开发完成测试功能的时候用。真正等到程序开发完成,要发给别人,正式上线的时候,就选择 Release 模式生成一个 exe 文件,这个文件里面没有乱七八糟的调试信息,体积很小,便于使用。
后面还有个x86和x64的选择,x86表示程序要生成的是32位exe,x64是表示程序要生成的是64位exe。32位exe可以在64位和32位操作系统下运行,而64位exe只能在64位操作系统下运行。
6. 项目结构目录
你可以按照如下方式创建一个项目:
创建完成后,"D:\1\解决方案" 就是你整个大工程,而 "D:\1\解决方案\项目" 就是用于存放你要写项目所有文件的目录。如果你再添加项目,就会添加到“解决方案”这个目录中,比如 "D:\1\解决方案\项目2" 。
不管你解决方案中有几个项目,任何一个项目编译后默认都在 D:\1\解决方案" 这个文件夹下生成 Debug 或者 Release 文件夹存放exe文件。