第一次作业之问答题

面向对象程序设计2020第一次作业

这个作业属于哪个课程 2020面向对象程序设计张栋班
这个作业要求在哪里 寒假作业1
这个作业的目标 安装开发环境、回顾知识、了解编译过程、实现白话文编程、记录学习过程并发布博客
作业正文 第一次作业之问答题
其它参考文献 C语言编译过程详解

问答题

0. 思考过程
  • 大致回顾了C语言的基础知识,回想当初学的时候哪些部分遇到的问题比较多
  • 回顾了做题过程中经常遇到的问题,以及哪些问题卡住比较久
  • 回想编译过程的知识,发现只是知道些名词,之前并没有了解是怎么编译的,于是查找了资料。
1. 还不了解C++, 我认为C语言有以下缺点:
  • 语法限制不够严格,有时不小心会出现数组越界
  • 和字符串相关的问题,根据不同的要求需要用不同的输入方式(gets和%s),用gets时有时会忘记把前面的回车先吞掉,导致意料之外的结果
  • switch-case必须用break来跳出
2. C语言的编译过程
  • 预处理:将所有的#include头文件以及宏定义替换成其真正的内容,预处理之后得到的仍然是文本文件,但文件体积会大很多(在终端试了一下,文件夹并没有产生新的 .i文件,直接在终端显示预处理得到的结果)
  • 编译:将经过预处理之后的程序经过检查语法后,转换成特定汇编代码(在文件夹产生新的.s文件)
  • 汇编:将上一步的汇编代码转换成机器码,产生二进制的目标文件(产生.o文件)
  • 链接:将多个目标文件以及所需的库文件链接成最终的可执行文件(产生.out文件)
posted @ 2020-01-22 20:09  感官  阅读(196)  评论(0编辑  收藏  举报