程序交付后的保姆级教程

发布时间 2023-06-19 02:30:52作者: programwriter

程序交付后,经常会遇到客户拿到代码不会用的情况,有些稍微提醒下就能自行解决,但也遇到过甚至连编译器都不知道从哪里启动,不知道点哪个按钮进行编译,甚至不知道“编译”这个词的概念,还遇到过问我代码中int是啥意思。所以我只好整理一个保姆级教程供大家参考。

1 控制台程序和可视化程序的区别

控制台程序有也叫字符界面程序,就是启动后一个黑框框,呈现的内容都是字符界面,使用键盘而非鼠标进行操作。当我们初次接触C/C++的学习,都是学习的控制台程序,它相对简单,关注点都只在语言本身,使用如printf/scanf/cin/cout这类函数进行输入输出。
可视化程序有也叫窗口程序或图形化程序,它由一个或多个窗口组成,每个窗口上都会布局一些窗口控件,如按钮、输入框、列表框之类,用户可通过鼠标和键盘操作程序,它的用户体验比控制台程序更好,但也相对来说更复杂。对C++来说,因为语言本身不支持窗口程序的设计,所以都得借助于一些框架来实现图形化,C++的主流图形化框架有MFC和QT。

这种就属于控制台程序
控制台程序

这种就属于窗口程序
可视化程序

C和C++的区别

在绝大多数情况下,C可以看成是C++的子集。所以C++是完全可以使用C语言的几乎所有东西,并不是说用scanf/printf的就是c语言,在C++中也是可以用,但是用cin/cout的一定是C++。如果编写得当,完全可以将C语言的程序在C++的模式下运行起来。

什么是开发工具

开发工具又叫开发环境,就是将编写的源代码运行起来的工具。学校里常用的C/C++开发环境有VC6.0、DEVC++、QT Create、VS各版本等等。这里推荐用比较新的开发环境,因为有更强的智能感知和符合现在语法标准的机制,让你写代码的体验感更好。极力反对用VC6.0,它是上古时代的玩意,已经完全不符合现在的语言标准,用它纯粹浪费时间,这玩意甚至连行号都不标记。我遇到过一些学校的老师强制学生用VC6.0,这种真的是误人子弟,完全就是自己不思进取不愿接受新事物,对这种老师来说,他们能把VC6.0再教20年,甚至带到棺材里去。如果不是遇到这种极品老师,我推荐大家使用VS2022,它的缺点就是体积大一点,但是它是编写体验最好的C/C++开发环境。如果嫌VS过大,可以考虑DEVC++(记得要下载蓝色版本的)。

VS2022的安装

VS2022的社区版完全免费(其他版本也有公开的KEY可以激活)
VS2022下载地址,这里直接去官网下载就行:https://visualstudio.microsoft.com/zh-hans/vs/
打开页面后,选择社区版
下载VS2022
在安装VS2022的时候,需要勾选(1)使之能开发C/C++工程,如果是需要运行MFC程序的话,需要将MFC组件勾选,这里注意一下,早期的VS版本MFC组件是默认安装的,从VS2015之后需要手动勾选。(不好意思这里截屏是用的VS2019的,VS2022与之类似)
VS2022安装

DEVC++的安装

devc++早就淘汰了,连作者都不再维护,所以无法从官网下载到devc++,而devc++之所以在学生群体中被大范围使用,主要还是因为计算机竞赛将之指定为专用环境,这里推荐从腾讯软件中心下载:https://pc.qq.com/detail/16/detail_163136.html
下载安装后,如果遇到编译C++项目的时候出现错误,可能是代码用到了一些比较新的写法,这时候可以对编译选项进行设置:

菜单->工具->编译器选项,进入选项卡

设置新的语言标准

添加-std=c++11命令

注意
以上是针对C++的设置,如果你编译的是.c文件,也就是c语言程序,那么添加的命令是-std=c99,且在语言标准中选ISO C99:

控制台工程如何使用

我一般给的是一个VS2019的工程压缩包,拿到压缩包后,需要先解压(这里很多人不懂解压是什么含义,解压就是将.zip文件释放成一个文件夹,文件夹中含有各种文件)。
比如,我给的是这样的一个压缩包:
工程压缩包
它的扩展名是.zip(如果没有显示扩展名,请百度搜索如何设置系统显示文件扩展名)。
通过解压工具,对其进行解压,解压工具有很多,比如winrar、7zip,甚至windows本身就支持zip的解压,这里我以win11自带的解压为例演示:
右键菜单,选择“全部解压缩”

在窗口中点击“提取”

解压后的文件夹与压缩包对比

至此,解压工作完成。
接下来,如果你电脑上安装的是vs2019或者vs2022,则可以直接启动工程:
首先进入文件夹:

这里顺带对什么是源文件,什么是数据文件进行解释,因该工程简单,所以只有一个.c文件,如果是复杂的程序将会有多个.c和.h文件。数据文件是程序在运行过程中需要用到的数据,需要在程序启动的时候进行加载,通常需要将数据文件和源文件放在同一个目录(文件夹)中,在开发环境中运行程序才能成功加载到数据文件。

进入vs2019工程目录后,可以直接双击sln或者vcxproj启动项目,sln是解决方案文件,它可以管理多个项目文件,而vcxproj就是项目文件,因为我们的工程简单,所以解决方案下只有一个项目工程,所以你双击哪个都一样。

在这里需要注意,如果是vs2019,直接启动工程,如果是vs2022,则会提示你升级项目,原因在于我给的项目工程是vs2019的,vs2022需要先对它进行升级。
出现的升级界面类似这样(我的是英文版,点OK就行)

有人问我,为什么启动后,界面是空白的,看不到代码,诸如这样:

你应该找到解决方案,然后逐个点开它就行:

选择调试模式运行,或者非调试模式运行,都会先编译程序,并在编译成功后将程序运行起来。

如果你是devc++,在解压完成后,需要这样做
首先,将源程序修改编码格式,用记事本打开源文件:
右键源文件,选择用记事本打开:

在文件菜单中选择另存为:

选择编码为ANSI:

点击“是”确认替换:

重新右键代码文件,选DEVC++打开:

编译并运行程序:

如果出现诸如此类的编译错误,请往上回看“DEVC++的安装配置”中关于编译器选项的设置:

MFC工程如何使用

(待续)

QT工程如何使用

(待续)