C语言是怎么编译到执行Hello world的。

  1.首先在编译器上写出你的Hello world程序,比如我在linux平台用GCC编译器进行编译,此时程序名称应该是以.c为后缀的文件名。

  

  2.编译第一步,启动cpp预处理器,进行预处理操作,展开头文件替换,加载头文件等等。编译完成之后生成一个.i为后缀的文件

  

  此时使用命令:gcc -E hello.c -o hello.i

  如果有兴趣可以打开hello.i文件查看里面的内容。

  3.第三步,该启动gcc/cc编译器了,该编译器可将预处理后后的.i文件编译成平台汇编,根据平台的差异编译成不同的汇编语言。

  

  编译完成之后生成.s为后缀的汇编文件,可使用命令:gcc -S hello.i -o hello.s

  4.第四步到汇编器使用阶段了,使用命令: gcc -c hello.s -o hello.o 该阶段将平台汇编语言编译成机器码,这时候的.o文件才能够被机器识别。

  5.第五部就可以编译可执行文件了,使用:gcc hello.o -o app,生成的文件app就可以在各个平台上执行了,在windows平台上也就是我们大家熟悉的.exe文件了。

  至此,执行在你的Hello world就能输出在你的显示设备上了。

  

C语言是怎么编译到执行Hello world的。,布布扣,bubuko.com

时间: 2024-10-12 13:28:25

C语言是怎么编译到执行Hello world的。的相关文章

C语言文件的编译到执行的四个阶段

C语言文件的编译与执行的四个阶段并分别描述 C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接.编译就是把文本形式源代码翻译为机器语言形式的目标文件的过程.链接是把目标文件.操作系统的启动代码和用到的库文件进行组织形成最终生成可执行代码的过程. 第一个阶段: 是预处理阶段,在正式的编译阶段之前进行.预处理阶段将根据已放置在文件中的预处理指令来修改源文件的内容.如#include指令就是一个预处理指令,它把头文件的内容添加到.cpp

C语言-------命令行编译、执行HelloWorld

在计算机任意的一个地方新建一个文本文档.例如:建立一个名为hello的文件,注意要把后缀名改为".c", 然后打开文本文档, 编辑以下代码然后保存: #include <stdio.h>#include <stdlib.h> int main(){ printf("Hello world!\n"); return 0;} 使用  win + R 快捷键,输出cmd,回车.按照以下步骤进行 1.找到文本保存位置,例如在D盘,输入:"D

编译型和解释型的区别&amp;&amp;Java从编译到执行的过程

借鉴: 1  http://www.cnblogs.com/bluestorm/archive/2012/12/09/2810167.html           区别 2  http://blog.jobbole.com/53152/       编译的过程 3  http://jingyan.baidu.com/article/b24f6c82de6bcf86bfe5dad4.html          Java从编译到执行的过程(完整) Java编译-下载-解释-执行的过程: 在Java编

C语言学习笔记---001C语言的介绍,编译过程原理,工具等

技术qq交流群:Dream:251572072 ----------------------------------------------------------------------- a.C语言的历史 起源 标准化 b.基于c的语言 编程语言都借鉴了c语言的特性 c++语言:包含所有c语言特性,增加了类和其他的特性支持面向对象编程 java:基于C++的,包含了一些c的特性 C#:是由java和c++发展起来的 Perl:脚本语言 c.c语言特性: c语言是一种底层语言,为了适应系统编程

ios-(2)第一个C语言程序(理解编译、连接、运行)

一.开发工具的选择 1. 可以用来写代码的工具:记事本.ULtraEdit.Vim.Xcode等. 2. 选择XCode的原因:苹果公司官方提供的开发利器.简化开发的工程.有高亮显示功能. 3. 使用XCode新建一个C程序的源代码文件(扩展名为.c或者.C) # 开发XCode # 新建文件 # 选择文件类型 .c 二.代码编写 1.程序结构 * C程序的结构:由函数组成 # 任何一个C语言程序都市有一个或者多个程序段(小程序)构成的,每个程序段都有自己的功能,我们一般称这些程序段为"函数&q

C#程序的编译和执行

1.在讲解 C# 程序的编译与执行之前,首先了解以下两个概念,以便充分理解C# 程序的运行. CLI--Common Language Infrastructure 的简称,C# 程序在Microsoft .NET Framework 上运行时, 它是 Windows 的一个必要组件,包括一个称为公共语言运行库(CLR,在第1章中对该内容有过详细讲解)的虚拟执行系统和一组统一的类库. IL--Intermediate Language 的简称,称为中间语言,又称为 MSIL.所有Microsof

D语言超强的编译时检测技术,强类型技术

D语言引入了static if , static assert , template , is 等一些语句,使得D语言可以使用编译时执行逻辑处理,同时也能进行编译时测试,这使得编译器在编译时就可以对自定义的类,结构,参数进行动态检测,这样让定义的东西有了强类型功能,牛B之作. import std.stdio; import std.range; int main(string[] argv) { int[] a = [0,1,2]; int[] b = [4,5,6]; auto c = ch

lua的编译,执行和调试

dofile读入文件编译并执行,真正完成功能的函数是loadfile;与dofile不同,loadfile仅仅是编译代码成中间码,并且把编译后的chunk作为函数返回.如果发生错误,返回nil和错误信息.我们可以这么定义dofile: function dofile(filename) local f = assert(loadfile(filename)) return f() end 如果你只调用一次,可以使用dofile(filename),如果是调用多次,可以f = loadfile(f

Java代码编译和执行的整个过程

Java代码编译是由Java源码编译器来完成,流程图如下所示: Java字节码的执行是由JVM执行引擎来完成,流程图如下所示: Java代码编译和执行的整个过程包含了以下三个重要的机制: Java源码编译机制 类加载机制 类执行机制 Java源码编译机制 Java 源码编译由以下三个过程组成: 分析和输入到符号表 注解处理 语义分析和生成class文件 流程图如下所示: 最后生成的class文件由以下部分组成: 结构信息.包括class文件格式版本号及各部分的数量与大小的信息 元数据.对应于Ja