做字幕网站,外贸出口网,网站建设与优化推广方案,做自己的网站的一般步骤文章目录 前言一、程序的翻译环境和执行环境二、编译链接过程三、编译的几个阶段四、运行环境五、预定义符号总结 前言
程序环境和预处理、编译链接过程、编译的几个阶段、运行环境、预定义符号的介绍。 一、程序的翻译环境和执行环境
在 ANSI C 的任何一种实现中#xff0c… 文章目录 前言一、程序的翻译环境和执行环境二、编译链接过程三、编译的几个阶段四、运行环境五、预定义符号总结 前言
程序环境和预处理、编译链接过程、编译的几个阶段、运行环境、预定义符号的介绍。 一、程序的翻译环境和执行环境
在 ANSI C 的任何一种实现中存在两个不同的环境。
第 1 种 是翻译环境在这个环境中源代码被转换为可执行的机器指令。第 2 种 是执行环境 它用于实际执行代码。
二、编译链接过程
每一个源文件(test.c)编译器都会单独处理生成一个目标文件test.obj不同编译器文件后缀不同Linux环境 gcc 编译器生成目标文件 是 test.o文件 三、编译的几个阶段
编译可以分为三个阶段预编译编译汇编
编译阶段的符号汇总是汇总全局变量和函数。
四、运行环境
程序执行的过程
程序必须载入内存中在有操作系统的环境中一般这个由操作系统完成在独立的环境中程序的载入必须由手工安排也可能是通过可执行代码置入只读内存来完成。程序的执行开始调用main函数开始执行后程序将使用一个运行时堆栈存储函数的局部变量和返回地址程序同时也可以使用静态内存存储于静态内存中的变量在程序的整个执行过程一直保留他们的值。终止程序正常终止main函数也有可能是意外终止。
五、预定义符号
这些预定义符号都是语言内置的这些预定义符号可以用来写日志
#include stdio.h
int main()
{FILE* pf fopen(log.txt, w);if (NULL pf){perror(fopen);}int i 0;for (i 0; i 10; i){fprintf(pf, file:%s line%d date:%s time:%s\n, __FILE__, __LINE__, __DATE__, __TIME__);}fclose(pf);pf NULL;return 0;
}总结
程序环境和预处理、编译链接过程、编译的几个阶段、运行环境、预定义符号的介绍。