《C primer plus》笔记--Chapter 1

来源:互联网 发布:苏联 援助延安知乎 编辑:程序博客网 时间:2024/06/04 18:15

学习用书:《C Primer Plus中文版》(第五版)


第一章 概览


1,计算机执行运算的基本原理


CPU从内存中获取一个指令并执行该指令,然后从内存中获取下一个指令并执行。一个千兆CPU可以在一秒钟内进行大约一亿次这样的操作,CPU有自己的小工作区,该工作区由若干个寄存器组成,每个寄存器可以保存一个数。一个寄存器保存下一条指令的内存地址,CPU使用该信息获取下一条指令。获取一条指令后,CPU在别一个寄存器中保存该指令并将第一个寄存器的值更新为下一条指令的地址。

编译器是将高级语言解释成计算机所需的详细机器语言指令集的程序。


2,中间代码,启动代码与可执行程序


编写完后的C源代码程序经过编译并不是直接转换成可执行程序,而是转换为中间文件,这个中间文件被称为目标代码文件,虽然目标文件中包含机器语言,但是不能运行,它还不是一个完整的程序。

缺少的第一种元素就是启动代码,此代码相当于您的程序与和操作系统之间的接口,但是不同的系统中需要的启动码是不一样的。

缺少的第二种元素即为库例程的代码,几乎所有的C程序都利用了标准C库中的例程。

链接器的作用就是将这3个元素(目标代码、系统的标准启动代码和库代码)结合在一起,并将它们存放在单个文件,即可执行文件中。对库代码来说,链接器只从库中提取您所使用的函数所需要的代码。


3,Unix系统上C文件与编译


在Linux或Unix系统上使用C语言时,注意,first.c、First.c、FIRST.c是三个不同的程序,而且文件的后缀名必须为小写的c。在编译过程序中生成的目标文件的后缀名为.o,并且在生成可执行文件后删除该文件,最后生成的可执行文件a.out,注意与WINDOWS下VC中运行C程序的区别。

原创粉丝点击