用C++开发程序的步骤

C++开发简介

Step 1 Define the Problem to Sovle 定义 要解决的 问题

在这个阶段要明确自己要用程序来做什么

Step 2 Design a Solution 设计 解决方案

在这个阶段要明确运用程序解决问题该怎么做,如何设计程序
良好的解决方案通常有以下特征:

  • 简单(一看就明白,不会过于复杂)

  • 它们有很好说明(特别是在提出任何假设或限制时)。(?)

  • 模块化构建(一个模块可以重复使用、更改且不影响其他模块的使用)

  • 稳健(出意外时容易修复并且能够提供出有用的错误报告)

    研究表明,程序员只有20%的时间用于编写初始程序。另外80%用于维护,包括调试(删除错误),针对新需求进行更改(例如,在新的操作系统版本上运行),增强功能(用于改进可用性或功能的微小更改),或者内部改进(提高可靠性或可维护性)。
    

在写代码之前先想它个千百八次的是很有必要的,思考解决问题的最佳方法、更多的假设以及日后的维护计划等等

Step 3 Write a Program that Implements the Solution 编写 程序

干这个有俩条件,一个是编程知识,另一个就是代码编辑器。
专业的代码编辑器提供
1) 行号。当出现错误时,行号的存在方便我们查找错误位置;
2) 语法高亮和着色。程序的不同语法单词用高亮度的不同颜色来区分,更加容易识别。
3) 明确的字体。方便区分“0(零)”和“O(欧)”还有“I(爱)”、“l(小写爱了)”和“1(数字壹)”。

Step 4 Compile the Program 编译 源代码(检查 和 转换)

编译源代码哪家强,C++编译器超级棒!C++编译器按顺序遍历程序中的每个源代码(.cpp)文件,并执行两项重要任务:
首先,它检查码农们写的代码确保其遵循C++的语言规则。要是没有严格按照规则来写代码,编译器会反馈出错误和错误存在的行号,帮助找到需要修复的错误。这时编译也将停止,直到错误被修复。
其次,编译器将码农的C++源代码转换为称为目标文件机器语言文件。目标文件通常为“名字.”或“名字.obj”。目标文件的“名字”与生成它的“.cpp”文件名字一样。

如果您的程序有3个.cpp文件,编译器将生成3个目标文件:
源代码转换为目标文件

Step 5 Link Object files 链接 目标文件 和 库

编译器创建一个或多个目标文件后,另一个称为链接器的程序启动。它的工作有三个:
第一,获取上一步骤中产生的所有目标文件,并将它们组合(链接)成一个可执行程序。
Linker
第二,链接器除了能够链接目标文件外,还可以链接库文件库文件是预编译代码的集合,它已经“打包”在其他程序中重(重新)用。
C ++核心语言实际上相当小而简洁。但是,C ++还附带了一个名为C ++标准库通常缩写为标准库)的扩展库,它提供了可在程序中使用的其他功能。C ++标准库中最常用的部分之一是iostream库,包含在显示器上打印文本和从用户获取键盘输入的功能。几乎所有编写的C ++程序都以某种形式使用标准库,因此将标准库链接到程序中非常常见。一旦你使用它的任何部分,大多数链接器将自动链接到标准库中,所以这通常不是你需要担心的事情。

您也可以选择在其他库中链接。例如,如果您要编写一个播放声音的程序,您可能不希望编写自己的代码来读取磁盘中的声音文件,检查以确保它们有效,或者弄清楚如何路由声音数据通过扬声器播放操作系统或硬件 - 这将是很多工作!相反,你可能会下载一个已经知道如何做这些事情的库,并使用它,比如下载一个音乐播放器!
第三,链接器确保正确解析所有跨文件依赖关系。例如,如果在一个.cpp文件中定义某个内容,然后在另一个.cpp文件中使用它,则链接器会将两者连接在一起。如果链接器无法使用其定义连接某个引用,则会出现链接器错误,并且链接过程将中止。

一旦链接器完成链接所有目标文件和库(假设一切顺利),您将拥有一个可执行文件,然后您可以运行!

Steps 6 & 7 Testing and Debugging 测试 和 调试

这是有趣的部分(希望如此)!您可以运行可执行文件,看看它是否产生您期望的输出!
如果您的程序运行但无法正常工作,那么现在是时候进行一些调试以找出问题所在。
不断测试和调试,不断找BUG!!!

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值