第一次作业 开发环境配置介绍

 

 1.编程语言和编程经历

 <1>编程语言   

    我使用的编程语言是C语言,因为C语言的代码量相对较小,适合课上编写,而且C语言的运行速度快,最主要的是C语言的灵活性强,想怎么样程序就能怎么写,而且作为第一门学习的编程语言,印象比较深刻,可以以课程为引,对编程进行系统的复习,边复习巩固C的同时边拾起C#,C++。

    从前人总结来看,C语言的优点如下:

(1)代码量小。

(2)运行速度快。

(3)功能强大。

    比如 Microsoft Word 和 WPS,它们同样都是办公软件,功能也差不多,但 WPS 的安装文件只有 50MB 左右,而 Microsoft Word 的安装文件超过 500MB,有的甚至接近 1GB。原因就是 WPS 的内核是用C语言编写的。

    C语言的第二和第三个优点是它的运行速度比较快和功能强大,我们可以通过一个例子来解释。世界上总共有三大操作系统:UNIX 操作系统是用纯C语言编写的;Windows 操作系统的内核也是用C语言编写的;Linux 操作系统仍是用纯C语言编写的。

     这三大操作系统的内核全部都是用C语言编写的。为什么用C编写,因为C语言的速度最快。计算机中所有的软件都是在操作系统上运行的,如果操作系统的速度很慢,那么在它基础上运行的软件的速度就更慢了。而且计算机中的所有硬件都是由操作系统控制的。

    所以操作系统很重要,所有的硬件全部都是由操作系统控制的。而这么重要的东西只能用C语言来写,所以C语言很重要。为什么只能用C语言写?第一,C语言速度够快;第二,C语言可以访问硬件,所以它够强大。

<2>编程经历

    个人编程经历比较多但是都比较浅,学的程序课有C、C#、Fortran、Matlab等,编程主要体现在课程作业和每一学期实习中解算程序的编写,以及毕业设计用MATLAB编了后方交会和光束法平差的程序。

 

2.使用的集成开发环境

    由于我使用的是Macbook pro,与其最为匹配的集成开发环境毋庸置疑是Xcode,所以我选择的是Xcode来进行开发,而且它也支持C语言,因为之前还配套装过Fortran,但是为了后续能更好的组队进行软件工程设计,我还是选择了C语言。

    Xcode的优点为:

  (1)为iOS和Mac开发而设计 

  (2)代码自动补全 

  (3)便捷的代码管理器,自动生成类关系图、函数方法列表等 

  (4)界面设计器

    与VS相比,准确的说优势并不大,主要是针对IOS和OS X用户而言,没有可替代性。可以非常便捷的生成IOS端和OS X端上的小APP,还有得益于苹果系统设计上的视觉舒适感和使用流畅度,工作量不太大的时候,没有什么功能差异,编写过程的更佳体验也还不错。

 

3.版本控制

    使用的版本控制工具为git,平台是码云,具体集成的过程如下:

 

1、首先注册码云账号,然后创建仓库,自己给仓库命名,仓库的基本设置如下图

 

2、仓库创建成功以后,在点击克隆/复制按钮,复制下载链接

 

3、在终端中,cd到桌面,执行命令:

git clone 粘贴刚刚复制的链接

 

4、执行完以上命令,桌面上就下载下来了我们刚刚在码云上创建的项目,打开对应文件夹,会有以下如图

5、然后我们打开Xcode,创建项目,将路径设置在刚刚生成的文件夹,文件夹内如下图

6、打开项目,利用sourceControl进行操作.点击commit,将改变的内容提交到本地仓库.

会出现下面这个窗口,将四个文件全部勾选,

并在这里输入每次的改变,当做标签提示,这里我填写的是111,点击右下角的commit按钮,填写用户名和密码,点击OK就可以了

7、再点击push,将项目上传到码云

选中你的分支

8、现在去码云刷新一下界面,就可以看到你刚刚提交的工程了

9.课程中要求编写的程序代码上传后如下

 

在进行团队开发的时候,每次修改工程之前需要先进行pull操作,把码云上最新整合的工程抓取下来,然后再进行修改

工程中?表示未追踪状态,在Xcode中使Commit命令

A 需要添加

M 表示这个文件是勾选状态

 

 

4.C语言单元测试

使用几十行代码实现一个简约的C语言单元测试框架。该框架只有一个头文件,使用方法如下:

  1. 引用头文件mcut.h
  2. 编写测试函数(测试case),参数和返回值类型均为void。测试函数中使用mcut_assert、mcut_assert_msg、mcut_assert_int对测试结果进行判断
  3. 调用mcut_run_test方法运行测试函数
  4. 调用mcut_show_statistics,展示统计结果

框架代码,mcut.h:

 

测试代码,test_sub.c:

编译

运行结果

 

 

5.问题&解决方法与心得

<1>问题&解决方法 

       由于问题已经解决,现在已经回不到当时出问题的页面,过程中主要卡在这个页面,每次Commit之后都会提示本地储存库已经out of date了,需要require网络储存库的数据并重试。

      在采取了老师的建议后,在同学的帮助下解决了这个问题。

      解决方法是:

       先在Source Control里面点击Discard All Changes,然后把网络仓库和本地仓库全部清空,并按照前述步骤重新操作一遍,问题最终得到了解决。

<2>心得

      软件设计多数时候是一个团队的工作,所以我们要充分发挥团队精神。比如在解决链接到代码仓库的过程中出现问题后我一直在一个人解决,捣腾了一个小时也没见解决,最后还是在问了老师和同学之后,采取老师的建议和同学的经验之后才结局了这个问题,所以在今后的软件开发过程中,还是要多多发挥集体的智慧,把个人的力量汇聚到集体之中,才能把软件设计做得更好更完善。

 

 

posted @ 2019-10-15 20:57  汪绍航  阅读(271)  评论(1编辑  收藏  举报