新手学做网站图,专利交易网站建设ppt,wordpress文章加密提示,中小企业网站设计与开发目的文章目录 1、文件缓冲区2、程序环境A、翻译过程概述B、详解编译和链接a、编译b、链接 1、文件缓冲区
ANSIC 标准采用”文件缓冲系统“处理数据文件#xff0c;即在文件的读写过程中会使用到文件缓冲区#xff0c;而文件缓冲区分为输入缓冲区和输出缓冲区。
读写文件 写文件… 文章目录 1、文件缓冲区2、程序环境A、翻译过程概述B、详解编译和链接a、编译b、链接 1、文件缓冲区
ANSIC 标准采用”文件缓冲系统“处理数据文件即在文件的读写过程中会使用到文件缓冲区而文件缓冲区分为输入缓冲区和输出缓冲区。
读写文件 写文件在写文件时内存中的程序数据区的信息并不是直接写到硬盘上的文件中而是先放到输出缓冲区中等到输出缓冲区填满后再把其中的信息写到硬盘上的文件中。读文件; 在读文件时硬盘上的文件中的信息并不是直接读取到计算机内存中而是先放到输入缓冲区中等到输入缓冲区填满后再把其中的信息存储到内存中的程序数据区。
从读写文件的这个过程中我们可以发现读写文件并不是一点一点地来而是等到缓冲区填满后一次性读或写这样读写使得整体效率更高而这个缓冲区具体有多大则是由C语言的编译器决定的。
正因为有文件缓冲区的存在所以C语言在进行文件操作的时候需要进行刷新文件缓冲区或在文件末尾关闭文件的操作fclose关闭文件时会自动刷新缓冲区以此来确保相关文件读写操作的正确进行。 2、程序环境
程序的环境包括两个翻译环境和执行环境。 以下的内容重点对C语言的编译环境进行介绍。
A、翻译过程概述
C语言的翻译过程是如何将一个源文件生成为可执行文件的呢
编译首先我们对源文件.c为后缀进行编译生成一个目标文件vs中以.obj为后缀gcc编译器中以.o为后缀。目标文件的生成实质上是通过编译器实现一个源文件会对应生成一个目标文件。链接生成目标文件后所有目标文件外加链接库会一起通过链接器进行链接操作进而生成一个可执行文件.exe为后缀。 B、详解编译和链接
a、编译
编译实质上可以按照次序分为3个过程:预编译预处理、编译和汇编。
预编译这个过程实质上进行的是一些文本的操作,如头文件的包含将包含的头文件中的内容进行一个拷贝宏的替换和宏定义的删除以及注释的删除等等。编译编译过程是将C语言代码转换成汇编代码的过程。转换主要是通过语法分析、词法分析、符号汇总和语义分析实现的其中符号汇总这一步很关键这个主要进行的是一些全局符号的汇总比如说main函数,自定义的一些其它函数和全局变量等等。汇编汇编过程是将汇编代码转换成二进制指令即机器指令的过程。汇编在进行转换之前会先形成符号表给之前编译过程中汇总的全局符号分配地址包括有效地址和无效地址
b、链接
链接过程主要进行的是段表的合并以及符号表的合并和重定位。
对于符号表的合并和重定位链接过程会将所有目标文件中的符号表进行合并保留有效地址无效地址以对应的有效地址进行替换进而生成可执行文件。