c语言程序运行环境

article/2025/8/22 17:58:11

目录

程序运行环境

翻译环境和执行环境

从源代码到可执行程序的几个阶段

翻译环境的执行中的编译和链接

预编译

编译

汇编

链接

 运行环境


程序运行环境

在学习c语言中我们是否有这样的困惑,我们平常写代码,但是我们一开始就会很好奇,通过程序员写的代码,然后经过编译器翻译就可以运行我们的程序得到我们的结果。我们写的代码是经过什么样的处理才能生成我们的可执行程序(.exe文件)呢?这篇文章就会告诉你答案。

翻译环境和执行环境

在c语言中我们每次运行一个程序进行编译的时候都会有两个环境,一个环境是翻译环境,一个环境是执行环境。翻译环境就是经过程序员写的源代码翻译成计算机能读懂的二进制指令也可以说机器指令。执行环境就是通过二进制指令或者机器指令来执行我们写的代码运行得到结果。

从源代码到可执行程序的几个阶段

这里以c语言为例,程序员会创建多个.c文件,这些.c文件会经过编译器处理会生成多个.obj的目标文件,最后这些目标文件与链接库经过链接器一起链接生成可执行程序。其实这也是很简便的说分为编译阶段和链接阶段最后生成可执行程序(.exe文件)。但是复杂的是编译又会分成三个阶段分别是预编译,编译,汇编。

翻译环境的执行中的编译和链接

预编译

过程:

我们预处理(也叫预编译)是通过gcc -E test.c -o test.i选项经过编译之后将预处理的结果放在test.i文件中。

结果:

在预编译的过程中主要进行头文件的包含,将注释删除(因为注释是给人看的,计算机不需要看),进行#define符号的替换。预编译阶段主要进行的是文本操作。

编译

过程:

编译过程主要使用 gcc -S test.c选项,经过编译之后将结果保存在test.s中

结果:

编译过程中主要是将c语言源代码转化为汇编代码,主要进行语法分析,词法分析,语义分析,符号汇总等。

汇编

过程:

汇编主要使用选项 gcc-c test.c ,最后将结果保存在test.o文件中

结果:

汇编过程主要将汇编代码转化成二进制指令或者机器指令。

链接

链接主要进行合并段表,进行符号表的合并和符号表的重定位。

 运行环境

  • 1. 程序必须载入内存中。在有操作系统的环境中:一般这个由操作系统完成。在独立的环境中,程序 的载入必须由手工安排,也可能是通过可执行代码置入只读内存来完成。
  • 2. 程序的执行便开始。接着便调用main函数。
  • 3. 开始执行程序代码。这个时候程序将使用一个运行时堆栈(stack),存储函数的局部变量和返回地址。程序同时也可以使用静态(static)内存,存储于静态内存中的变量在程序的整个执行过程 一直保留他们的值。
  • 4. 终止程序。正常终止main函数;也有可能是意外终止。

首先程序要必须先载入到内存当中去,如果再有操作系统的环境下,这个操作就是由操作系统来完成,如果没有,就需要人工将程序载入到内存中或者可以将可执行代码载入到只读内存中。接着我们就开始执行main函数,这是程序就会使用一个运行时堆栈,存储函数的局部变量和返回地址,程序同时也可以使用static静态内存,存储在静态内存中的变量在程序中就会一直保留它们的值,最终就会结束程序,当然也可能是意外终止程序。


http://chatgpt.dhexx.cn/article/LHTxAoPW.shtml

相关文章

C语言开发环境搭建过程

标题C语言开发环境搭建过程 前言:C语言是目前嵌入式软件开发的主要语言,学习C语言可以直接面向产品做定制化开发,长远来看,优秀的嵌入式开发人员需要同时具备C开发和python测试的能力,C是一门经久不衰,值得…

VS2019搭建C语言开发环境(图文教程)

来源:微信公众号「编程学习基地」 文章目录 VS2019搭建C语言开发环境环境测试代码 VS2019搭建C语言开发环境 双击VS2019,选择创建新项目 选择项目类型为空项目 搜索框输入空项目进行搜索 或者选择C Windows 控制台找到空项目 输入项目名称&#xff0…

第1章 Window下VSCode的C语言开发环境搭建 (一)

文章目录 文档视频讲解链接地址第01章 开发环境搭建1.1 C语言开发环境搭建1. 常用的C语言开发环境介绍VC 6.0VS 2019ClionDevCvim编辑VSCode 2. Window下VSCode安装和配置C/C环境Visual Studio Code(VSCode)的介绍下载VSCode安装VSCode安装中文插件安装Mingw64 的gcc编译器安装…

c++开发环境安装

目录 1、下载软件 2 安装软件 3、创建项目 4、创建文件 5、编写代码 1、下载软件 1、Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器 2、进入Visual Studio 官网后,选择 下载Windows版,并选择Community 2022 社区版本进行下载 3、…

c语言环境搭建(vs)2022版

今天开个新专栏来写c语言的学习笔记正好学校下学期开始教c,现在先讲一下语言的环境搭建 先下载Visual Studio软件官网如下: Visual Studio 2022 IDE - 适用于软件开发人员的编程工具 (microsoft.com) 注意选择community版的其他的收费 下载后是个1.2M的…

win10搭建c语言开发环境

win10搭建c语言开发环境 在window10上面用MingW搭建编写C语言的环境1、下载Mingw(下载页面自行搜索),开始安装,安装路径自行选择2、点击‘continue’,出现如下图,3、稍微等待一会,出现如下图界面&#xff1…

VS Code C语言开发环境配置附图版保姆教程

简介 很多博客上都有vscode配置的资料,但是总是不够全面,一些细节没有详细说明,让我这个小白很是头疼,摸索大半天才成功,这篇文章通过整合集装多篇资料加上我自己的经验,给大家一份博客上最最最最详细的VS …

C语言的程序环境

文章目录 一.前言二.编译环境2.1预处理阶段2.2编译阶段2.3汇编阶段2.4链接阶段三.运行环境 一.前言 在ANSI C的任何一种实现中,存在两个不同的环境 1.翻译环境,在这个环境中源代码被转换为可执行的机器指令. 2.执行环境,它用于实际执行代码. …

如何搭建C语言环境

以下文章来源于:公_众_号开源电子网 读取更多技术文章,请扫码关注 如何搭建C语言环境 前言 C语言作为嵌入式开发的必备掌握技能,嵌入式能力的提升速度很大程度在于C语言的掌握能力。正所谓:工欲善其事,必先利其器。…

C语言环境安装

C语言环境安装 1.下载mingw-get-setup.exe安装程序。1.1 官网下载:1.2 百度云地址:1.3 从git下载安装包 2.点击安装开始3.配置环境变量4.测试环境 1.下载mingw-get-setup.exe安装程序。 1.1 官网下载: http://www.mingw.org/ 1.2 百度云地…

c语言编程环境配置

hello,小伙伴们,大家好,我是小浩,从今天开始,我会跟大家一起学习编程,大家有什么疑问或者意见可以留言或私信我。 下面我们开始今天的正式学习之旅: 相信大家都知道,编程语言有机器…

C语言入门——C程序开发环境搭建

C语言的开发工具 目前主流的开发工具就是Visual Studio 从2018年3月开始,全国二级C语言平台更改为VC2010 Express版,因此我们选择VC2010 Express VC2010 Express介绍 vc2010全称为microsoft visual c 2010 Express是微软的一款产品vc2010是一款IDE&am…

C语言入门之C语言开发环境搭建

C语言入门之C语言开发环境搭建 关注公众号 风色年代(itfantasycc) 领完整不限速版C语言开发环境资源包 集成环境下载地址:http://pan.baidu.com/s/1skMaZ6H 备用下载链接: https://pan.baidu.com/s/1yZsNO4khxDZ9qmuZFM_SEA 提取码: hatj …

怎么搭建一个C语言的开发环境?

什么是C语言 C语言是一种通用的、面向过程的编程语言,它具有高效、灵活、可移植等优点。在最近20多年里,它被运用在各种系统软件与应用软件的开发中,是使用最广泛的编程语言之一。本章将针对C语言的发展历史、开发环境搭建、和C语言的运行机…

C 语言学习笔记(一):C 语言的开发环境

文章目录 一、常用开发环境二、安装 Visual Studio 2019三、Visual Studio 2019 开发环境介绍四、使用 Visual Studio 2019 开发 C 程序 为什么会突然写关于 C 语言系列的博客? 原因是笔者的一个弟弟在大一下学期即将开始学习 C 语言,这里回忆起了当时笔者大学时学…

C语言的开发环境

所有的高级计算机语言都需要用编译器把程序编译成计算机能够看得懂的二进制。 所以我们需要一个环境来开发程序,从而通过程序实现一系列“骚操作。” 1. UNIX系统 C语言的诞生源于UNIX系统,也因UNIX系统而闻名。 在UNIX系统编辑C程序,通常…

C语言环境简介

C语言环境简介 C语言的开发环境有哪些? (1) Windows 下: Visual Studio(简称VS) 、Eclipse、QT、Code::Blocks (2) Linux 下: VI 、VIM 、Eclipse、QT (3) MAC 下: Xcode 、QT QT、Eclipse是跨平台的 2、Windows系统下的Visual Studio 开…

【新手必看】C语言开发环境,请查收!

C语言开发环境的选择, 貌似是告诉我们,工欲善其事,必先利其器。 01、Visual Studio Visual Studio(简称 VS),它是 Windows 下的标准 IDE,VS系列为IDE(集成开发环境),为了适应最新的 Windows 操作系统,微软每隔一段时间(一般是一两年)就会对 VS 进行升级,为目…

C 语言学习笔记(三):C 语言开发环境搭建

文章目录 一、Windows二、Linux2.1 VMware Workstation Pro软件简介及安装2.2 安装 Ubuntu 系统2.2.1 Ubuntu 下载2.2.2 安装 Ubuntu2.2.3 安装共享文件夹 2.3 概念介绍2.3.1 源文件2.3.2 C语言编译和链接详解2.3.3 编译(Compile)2.3.4 链接(Link)2.3.5 C语言编译器2.3.6 集成开…

美团2021校招笔试-编程题题解

题目链接 小美的送花线路 题意: 有n个点的一棵树,玩家开始在1号点,要遍历所有的点,使得走过的路程最短。 问:每个点到1号点的 距离和 是多少? 玩家遍历的最短路程是多少? 题解: 由…