C++入门(02)简单了解C++应用程序的开发部署

2024-09-07 10:12

本文主要是介绍C++入门(02)简单了解C++应用程序的开发部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1. 开发C++应用程序
  • 2. 简单示例计算器程序
  • 3. 需求分析
  • 4. 设计
  • 5. 编码
  • 6. 编译
  • 7. 调试
  • 8. 测试
  • 9. 部署
  • 10. 部署示例
    • 10.1 使用Visual Studio Installer Projects创建安装程序
    • 10.2 安装VisualStudio Installer Projects扩展
    • 10.3 在calculator解决方案中创建安装项目
      • 10.3.1 添加安装项目
      • 10.3.2 配置安装项目
      • 10.3.3 添加快捷方式
      • 10.3.4 设置安装属性
    • 10.4 生成安装程序
    • 10.5 在用户计算机安装我们的计算器程序
    • 10.6 部署示例小结

1. 开发C++应用程序

开发应用程序的过程可以分为细致的步骤:需求分析、设计、编码、编译、调试、测试、部署

2. 简单示例计算器程序

假设开发一个简单的命令行计算器,可以进行加法、减法、乘法和除法操作。

3. 需求分析

程序的需求是什么?对于这个计算器程序,需求可能是这样的:

  • 用户可以输入两个数字
  • 用户可以选择执行的操作(加、减、乘、除)
  • 程序输出计算结果
  • 如果用户输入非法数据或者除以零,程序应当提示错误

4. 设计

考虑如何实现这些功能?

  • 用什么变量来存储用户输入的数字?
  • 如何设计功能模块,比如加法、减法等操作?
  • 如何处理输入错误?

我们可以简单地设计一个基本结构:

  • 主函数 main() 用来控制程序的流程
  • 使用 cin 读取用户的输入,cout 输出结果
  • 使用条件语句 if-else 或 switch 处理用户选择的操作

5. 编码

简单的 C++ 实现,按照这个步骤(C++入门(01)VisualStudio2022社区版HelloWorld),创建项目 - 源码文件:calculator.cpp

#include <iostream>  // 包含标准输入输出库using namespace std;int main() {double num1, num2;  // 声明两个变量用于存储用户输入的数字char operation;     // 声明一个变量用于存储操作符// 提示用户输入两个数字和一个操作符cout << "Enter first number: ";cin >> num1;cout << "Enter an operator (+, -, *, /): ";cin >> operation;cout << "Enter second number: ";cin >> num2;// 根据用户输入的操作符执行相应的计算switch (operation) {case '+':cout << "Result: " << num1 + num2 << endl;break;case '-':cout << "Result: " << num1 - num2 << endl;break;case '*':cout << "Result: " << num1 * num2 << endl;break;case '/':// 检查除数是否为零if (num2 != 0) {cout << "Result: " << num1 / num2 << endl;} else {cout << "Error: Division by zero!" << endl;}break;default:cout << "Error: Invalid operator!" << endl;}return 0;  // 程序成功结束
}

6. 编译

编写完代码以后,要进行编译。
编译是将 C++ 代码转换为计算机可以执行的机器语言。
Ctrl + F5
Visual Studio将自动完成代码的编译,并在控制台窗口中运行程序
如果一切顺利,没有语法错误
将会把源代码文件calculator.cpp 编译成可执行文件 calculator.exe
在这里插入图片描述

7. 调试

调试是找到并修复程序中的错误的过程,比如在运行程序时,如果发现除数为零的情况没有正确提示错误,就需要检查代码进行修改。

8. 测试

测试是为了保证程序在各种输入情况下都能够正确运行。
对于这个计算器程序来讲,测试包括:

  • 正常输入两个数字和操作符,检查是否正确输出结果
  • 测试非法操作符输入,比如输入“%”,检查是否正确提示错误
  • 测试除以零的情况,看看是否输出响应的错误信息

9. 部署

当程序经过测试没有问题后,就可以部署给用户使用了。把程序打包发布给其他人使用,让其他人可以在他们的计算机上使用你的程序。

部署不仅仅是生成可执行文件,还包括处理依赖项、设置安装环境等,保障程序在用户的系统上正常运行。

10. 部署示例

10.1 使用Visual Studio Installer Projects创建安装程序

Visual Studio Installer Projects是一个扩展工具,可以帮助创建Windows安装包,例如MSI文件。

10.2 安装VisualStudio Installer Projects扩展

点击菜单栏的“扩展”,选择“管理扩展”。
在这里插入图片描述
在弹出的窗口中,搜索“Microsoft Visual Studio Installer Projects”
找到后点击“下载”,安装此扩展
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装完成后,重新打开Visual Studio ,重新打开我们的计算器calculator解决方案
在这里插入图片描述

10.3 在calculator解决方案中创建安装项目

10.3.1 添加安装项目

右键点击解决方案calculator,选择“添加” -> “新建项目”。
在这里插入图片描述

在搜索框中输入“Setup Project”,选择“Setup Project”,点击“下一步”。
在这里插入图片描述

给安装项目起个名字,比如CalculatorInstaller,然后点击“创建”。
在这里插入图片描述

10.3.2 配置安装项目

右键点击“Application Folder”,选择“添加” -> “项目输出”
在这里插入图片描述
在弹出的窗口中,选择CalculatorApp的“主输出”,点击“确定”
在这里插入图片描述
现在CalculatorApp.exe文件就被添加到安装包中了

10.3.3 添加快捷方式

右键点击CalculatorApp.exe,选择“创建快捷方式”
在这里插入图片描述
在这里插入图片描述

将快捷方式拖动到“User’s Desktop”文件夹中,这样未来用户安装以后会在桌面上生成快捷方式
在这里插入图片描述

10.3.4 设置安装属性

在解决方案资源管理器,选中CalculatorInstaller项目,打开属性窗口
在这里插入图片描述
打开属性窗口后,你会看到许多选项可以配置
ProductName(产品名称),例如:Calculator Application。
Manufacturer(制造商),例如:Your Name or Company。
Version(版本),例如:1.0.0。这个版本号用于区分不同的程序版本。
Author(作者),通常和制造商信息相同
InstallAllUsers(安装方式),一般选择True,这样所有系统用户都可以使用程序。
UpgradeCode(升级代码),这是用于识别安装包的唯一代码。如果以后要发布更新,升级代码必须保持一致
在这里插入图片描述

10.4 生成安装程序

在这里插入图片描述

Visual Studio会生成安装包
生成完成后,安装程序文件会在\Debug 或 \Release 文件夹下找到(路径可能是CalculatorInstaller\Debug)。CalculatorInstaller.msi 文件是主要的安装程序文件,包含了应用程序的所有文件、安装脚本和其他相关信息。
setup.exe 文件是一个安装引导程序,通常与 .msi 文件一起工作,会首先安装所有先决条件,然后调用 .msi 文件进行主程序的安装

10.5 在用户计算机安装我们的计算器程序

拷贝安装包到另外一台没有C++环境的计算机,双击setup.exe
这台用户计算机并没有C++环境
在这里插入图片描述
进入安装向导界面
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
做安装文件的时候,要起好名称啊,安装完毕,运行在这里插入图片描述
对于我们这个简单的小程序而言,其实和直接拷贝.exe到用户计算机是一样的
在这里插入图片描述

10.6 部署示例小结

  • 直接拷贝.exe可执行文件:适合简单的小程序,没有复杂的依赖关系
  • 创建安装程序 Installer,利用工具创建用户友好的安装包

这篇关于C++入门(02)简单了解C++应用程序的开发部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1144773

相关文章

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

C++ 函数 strftime 和时间格式示例详解

《C++函数strftime和时间格式示例详解》strftime是C/C++标准库中用于格式化日期和时间的函数,定义在ctime头文件中,它将tm结构体中的时间信息转换为指定格式的字符串,是处理... 目录C++ 函数 strftipythonme 详解一、函数原型二、功能描述三、格式字符串说明四、返回值五

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

C++作用域和标识符查找规则详解

《C++作用域和标识符查找规则详解》在C++中,作用域(Scope)和标识符查找(IdentifierLookup)是理解代码行为的重要概念,本文将详细介绍这些规则,并通过实例来说明它们的工作原理,需... 目录作用域标识符查找规则1. 普通查找(Ordinary Lookup)2. 限定查找(Qualif

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

基于Python开发一个有趣的工作时长计算器

《基于Python开发一个有趣的工作时长计算器》随着远程办公和弹性工作制的兴起,个人及团队对于工作时长的准确统计需求日益增长,本文将使用Python和PyQt5打造一个工作时长计算器,感兴趣的小伙伴可... 目录概述功能介绍界面展示php软件使用步骤说明代码详解1.窗口初始化与布局2.工作时长计算核心逻辑3

C/C++ chrono简单使用场景示例详解

《C/C++chrono简单使用场景示例详解》:本文主要介绍C/C++chrono简单使用场景示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录chrono使用场景举例1 输出格式化字符串chrono使用场景China编程举例1 输出格式化字符串示

C++/类与对象/默认成员函数@构造函数的用法

《C++/类与对象/默认成员函数@构造函数的用法》:本文主要介绍C++/类与对象/默认成员函数@构造函数的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录名词概念默认成员函数构造函数概念函数特征显示构造函数隐式构造函数总结名词概念默认构造函数:不用传参就可以

C++类和对象之默认成员函数的使用解读

《C++类和对象之默认成员函数的使用解读》:本文主要介绍C++类和对象之默认成员函数的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、默认成员函数有哪些二、各默认成员函数详解默认构造函数析构函数拷贝构造函数拷贝赋值运算符三、默认成员函数的注意事项总结一