关键词:
1.集成开发环境(IDE)
集成开发环境包含如下
- 编辑器:用来编写代码,并且给代码着色,以方便阅读;
- 代码提示器:输入部分代码,即可提示全部代码,加速代码的编写过程;
- 调试器:观察程序的每一个运行步骤,发现程序的逻辑错误;
- 项目管理工具:对程序涉及到的所有资源进行管理,包括源文件、图片、视频、第三方库等;
- 漂亮的界面:各种按钮、面板、菜单、窗口等控件整齐排布,操作更方便
简单来说是一系列开发工具的组合套装。这就好比台式机,一个台式机的核心部件是主机,有了主机就能独立工作了,但是我们在购买台式机时,往往还要附带上显示器、键盘、鼠标、U 盘、摄像头等外围设备。
常见的Visual Studio、Dev C++、Xcode、Visual C++ 6.0都是集成开发环境。
2.如何跑起来
先介绍两种环境:
翻译环境:将环境中的源代码转化为可执行的机器指令
执行环境:实际用于执行代码
描述如下:一个源文件经过编译,链接生成可执行的程序,然后运行。
(每个源文件都会经过编译器处理,生成各自对应目标文件,多个目标文件经过链接器和链接库的共同作用,生成可执行程序。)
下面进行具体分析:
linux环境下
一
预处理完成的工作(文本操作)(.c):
1.头文件的包含,将头文件中的代码加入进来(#include,#define ,#pragma)
2.#define定义符的替换
3.删除注释
编译c语言代码转化为汇编代码(.s)
1.语法分析
2.词法分析
3.语义分析
4.符号汇总
汇编(.o)
把汇编代码转化为二进制指令(机器指令),形成符号表
二
链接
- 合并段表
- 符号表的合并和重定位
3.以VS为例
从VS文件中看:.c(源文件) .obj(目标文件) .exe(可执行文件),如下图所示
两个.c文件编译,链接生成可执行的程序,然后运行。
《程序是怎样跑起来的》第五章有感
存储部件内存和磁盘从都具有存储程序命令和数据这点来看的功能是相同的。从存储容量来看,内存是高速高价,而磁盘是低速低价。内存主要是指主内存(负责存储CPU中运行的程序指令和数据的内存)磁盘主要是指硬盘。... 查看详情
c程序是如何跑起来的01——普通可执行文件的构成(代码片段)
学习目的程序烧到什么地方?程序加载到内存什么地方?程序如何执行?一、编译环境搭建ubuntu20.04使用arm-linux-gnueabihf-gcc7.5.0。二、程序源码main.c:#include<stdio.h>#include"calc.h"intmain(intargc,char*argv[])in 查看详情
c程序是如何跑起来的01——普通可执行文件的构成(代码片段)
学习目的程序烧到什么地方?程序加载到内存什么地方?程序如何执行?一、编译环境搭建ubuntu20.04使用arm-linux-gnueabihf-gcc7.5.0。二、程序源码main.c:#include<stdio.h>#include"calc.h"intmain(intargc,char*argv[])in 查看详情
读《程序是怎样跑起来的》第一章有感
...序是只是计算机每一步动作的指令,计算机内部的编译和代码是人工事先做好的,我们输入代码,计算机内部进行编译成机器语言,执行代码。而cpu是计算机的核心部位,cpu能够直接识别和执行的只有机器代码,像我们输入的jav... 查看详情
go程序是如何跑起来的(代码片段)
转,原文: https://www.cnblogs.com/qcrao-2018/archive/2019/07/03/11124360.html——————————————————————————————————————————————————————————————————————... 查看详情
程序是怎样跑起来的第7章有感
...硬件决定了程序的运行环境,机器语言的编码被称为本地代码,程序员用C语言等编写的程序,在编写的阶段仅仅是文本文件,文本文件在任何情况下都能显示和编辑,称之为源代码,通过对源代码进行编译,就可以得到本地代... 查看详情
c代码是如何跑起来的(代码片段)
上一篇「CPU提供了什么」中,我们了解了物理的层面的CPU,为我们提供了什么。本篇,我们介绍下高级语言「C语言」是如何在物理CPU上面跑起来的。C语言提供了什么C语言作为高级语言,为程序员提供了更友好的表达方式。在我... 查看详情
一个程序怎么跑起来的(代码片段)
#include<stdio.h>intmain()printf("hello,world\\n");return0;在Unix系统上,由编译器把源文件转换为目标文件。gcc-ohellohello.c 查看详情
《程序是怎样跑起来的》第四章有感
计算机是进行数据处理的设备,而程序表示的就是处理顺序和数据结构。 指针是一种变量,它所表示的不是数据的值,而是存储着数据的内存的地址。使用指针可以对任意指定地址的数据进行读写。 数... 查看详情
读《程序是怎样跑起来的》第八章有感
...的源文件和可执行文件(EXE文件),计算机只能运行本地代码,本地代码是CPU可以解析和运行的程序,而并不能直接解析和运行源代码,这是因为作为计算机大脑的CPU只能解释已经转换成本地代码的程序内容。对CPU来说母语就是... 查看详情
程序是怎样跑起来的第一章读后感
对程序员来说CPU是什么首先要了解的是CPU的组成CPU是由寄存器、控制器、运算器、时钟组成的,它的运行是由程序启动后,根据时钟信号,控制器从内存中读取指令和数据。通过对这些指令加以解释和运行,运算器对数据进行运... 查看详情
《程序是怎样跑起来的》第一章读后感
...sp; 平常上课的时候我只是知道老师让我们往电脑上敲代码,敲完后运行成功,自己再加深理解,懂得如何运行成功的就行了。但是通过对这一章的学习,我懂得了程序是怎么运行,它的运行原理。CPU的处理很简单,但是程序... 查看详情
《程序是怎样跑起来的》第十章读后感
...个工具来进行汇编。计算机CPU能直接解释运行的只有本地代码程序,而源代码则需要各自的编译器编译后才能转换为计算机可读取的本地代码。不但可以汇编也可以反汇编。汇编语言是操作码加上操作数。 函数的参数是... 查看详情
一个程序怎么跑起来的
#include<stdio.h>intmain()printf("hello,world\\n");return0;在Unix系统上,由编译器把源文件转换为目标文件。gcc-ohellohello.c 查看详情
《程序是怎样跑起来的》第八章读后感
源代码完成后,就可以编译生成可执行文件,负责实现该功能的是编译器。用某种编程语言编写的程序就称为源代码,编译器负责转换源代码。 程序加载时会生成栈和堆,栈是用来存储函数内部临... 查看详情
《程序是怎样跑起来的》第七章读后感
...机器语言,不同种类的Cup机器语言也不一样,在编写完源代码进行编译后得到本地代码,再由CPU来解析和运行本地代码。在使用Windows应用的功能时,是间接向windows发送指令来实现的不是由应用直接控制硬件。不同的操作系统的A... 查看详情
程序环境和预处理(代码片段)
...a6;翻译环境(编译+链接)💦运行环境二、预处理详解💦预定义符号💦#define定义标识符💦#define定义宏💦#define替换规则💦#和##(奇怪的用法)💦带副作用的宏参数💦宏和函数的对比... 查看详情
linux0.11-shell程序跑起来了-38(代码片段)
...们说到,Linux通过缺页中断处理过程,将/bin/sh的代码从硬盘加载到了内存,此时便可以正式执行shell程序了。这个shell程序,也就是Linux0.11中要执行的这个/bin/sh程序,它的源 查看详情