Windows开发环境下说明

很多人在学习C语言的时候直接用的IDE(Integrated Development Environment全名叫集成开发环境),因此
并不知道C语言的详细的运行过程,因此这里我用Visual Studio 2010IDE简单的写一下C语言的运行过程,希望能帮助大家。
1.编辑:写一个hello world!程序,然后以hello.c为文件名,这个过程就是编辑源代码。
2.预处理:处理宏定义、注释、包含头文件这个过程叫做预处理。
3.编译:编译的目的就是将hello.c文件翻译成目标文件hello.obj文件(注意是.obj文件还不是.exe文件,所以还不能够运行。有的编译器(如gcc编译器)是.o文件,无论是.boj文件还是.o文件都叫做中间文件)。
4.链接:将目标文件hello.obj+库文件(比如stdio.h等库文件)生成可执行文件(project.exe,project为你自己建立工程的时候的项目名称)。
5.运行:执行.exe文件,得到运行结果。
说明:链接后生成的.exe文件比.obj文件大了很多,原因就是链接过程中用到了库文件资源。

Linux开发环境下说明

1.编辑:写一个hello world!程序,然后以hello.c为文件名,这个过程就是编辑源代码。例如,vi hello.c即可进入编辑代码
2.预处理:处理宏定义、注释、包含头文件这个过程叫做预处理。gcc -E hello.c -o hello.i生成预处理后的.i文件
3.编译:编译的目的就是将hello.c文件翻译成目标文件hello.s汇编文件。gcc -S hello.i -o hello.s生成编译后的.s汇编文件
4.汇编:汇编的目的是将hello.s汇编文件翻译成可重定位文件.o。gcc -c hello.s -o hello.o生成汇编后的.o可重定位文件
5.链接:将可重定位文件hello.o和库文件进行链接,生成可执行文件。gcc hello.o -o hello生成可执行文件hello

C语言运行机制(过程)简述相关推荐

  1. Java语言运行机制及运行过程

    1.4 Java语言运行机制及运行过程 lJava两种核心机制 ØJava虚拟机 (Java Virtal Machine) Ø垃圾收集机制 (Garbage Collection)1.4 Java语 ...

  2. java语言运行机制与运行过程

    核心机制:JVM与垃圾收集机制 JVM:java程序运行在JVM上,JVM在具体的操作系统上 垃圾回收:Java语言提供系统级线程跟踪存储空间的分配情况,在JVM空闲时检查并释放那些可被释放的存储空间 ...

  3. 简述计算机控制系统调试和运行的过程,简述计算机原理与系统启动过程

    一.哈佛结构与冯·诺依曼结构 1.冯.诺曼结构处理器比较,哈佛结构处理器有两个明显的特点: (1).使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存: (2).使用独立 ...

  4. 简述计算机控制系统调试和运行的过程,简述计算机控制系统的一般控制过程

    <简述计算机控制系统的一般控制过程>由会员分享,可在线阅读,更多相关<简述计算机控制系统的一般控制过程(2页珍藏版)>请在人人文库网上搜索. 1.1. 简述计算机控制系统的一般 ...

  5. C#者重建C++之路 - 运行机制的差异

    运行机制的差异是大多数C++支持者唾弃C#的原因,这里并不去讨论这类说法对不对,我想说的是每种语言都有擅长和不擅长的使用场景,无需拿一种语言的长处去鄙视另外一种语言的短处.针对不同的问题,需要选择合适 ...

  6. hadoop的运行机制

    如要了解hadoop的运行机制过程, 需要先了解几个概念: mapreduce中概念: 1.首先用户程序(JobClient)提交了一个job,job的信息会发送到Job Tracker,Job Tr ...

  7. 【Java开发语言 01】第一章 Java语言概述(基础常识+Java语言概述+Java程序运行机制及运行过程+Java语言环境的搭建+开发体验hello world+错误:编码GBK的不可映射字符)

    java入门-第一章Java语言概述 1基础常识 软件开发 人机交互方式 常用的DOS命令(win系统,有一些直接通过命令执行的) 2 Java语言概述 什么是计算机语言 关于面向对象和面向过程 Ja ...

  8. 《Java疯狂讲义》(第3版)学习笔记 2 - Java语言的运行机制

    内容 1.高级语言的运行机制 2.Java 语言的运行机制 1.高级语言的运行机制 高级语言主要分为编译型语言和解释型语言两类. 编译型语言是指使用专门的编译器.针对特定平台(操作系统)将高级语言源代 ...

  9. 简述运行PHP文件的步骤,简述PHP运行机制

    大家通过对PHP语言的学习,可以了解到,这是一款适合于WEB开发中的语言.我们可以利用功能强大的PHP语言来为自己实现许多功能. 先看看下面PHP运行机制这个过程: 1. 我们从未手动开启过PHP的相 ...

  10. Java语言的运行机制

    一.高级语言的运行机制 我们编程都是用的高级语言(写汇编和机器语言的大牛们除外),计算机不能直接理解高级语言,只能理解和运行机器语言,所以必须要把高级语言翻译成机器语言,计算机才能运行高级语言所编写的 ...

最新文章

  1. Linux统计某文件夹下文件、文件夹的个数
  2. 更改hostname后vnc无法进入图形界面
  3. Laravel查询搜索函数集合:find  first  firstWhere firstOr findOrFail firstOrFail firstOrNew firstOrCreate
  4. SpringCloud常见组件有哪些?
  5. tomcat相关配置技巧梳理 (修改站点目录、多项目部署、限制ip访问、大文件上传超时等)...
  6. Java多线程(五)——多线程的多线程池
  7. Masonry详解(转)
  8. Thrift java.net.SocketException: Broken pipe问题分析定位
  9. Ubuntu使用Windows字体
  10. 树莓派简易快速安装OpenCV4
  11. LOL英雄联盟代打外挂程序-java实现
  12. 【sketchup 2021】草图大师图像输出与渲染之Enscape渲染(优秀的实时渲染软件)的高级使用【灯光的添加、代理模型的添加、材质编辑器、视频编辑器、全景导出并编辑】
  13. vc++6.0报错c1083
  14. VUE + 微信分享
  15. 谷歌账号最后验证身份手机号无法使用
  16. 计算机专业新生创新思维研究,计算机基础与计算思维探究论文
  17. 评测3款高颜值的安卓txt阅读器
  18. JwtToken介绍与使用 超详细保姆级教程 内附详细示例代码
  19. 【mac】禁用烦人的系统快捷键(⌘M、 ⌘H....)
  20. 转转闲鱼交易猫源码搭建教程

热门文章

  1. elpida颗粒_内存涨价三星背锅,晶圆颗粒远远不止这几家!
  2. 批量标准矢量shp转txt工具shp2txt、批量txt转shp矢量工具txt2shp(Arcgis之国土报备、预审报批、勘测定界、自然资源系统)
  3. 迭代扩展卡尔曼滤波IEKF
  4. 裁剪的uincoide的点阵字库结构设计
  5. c语言点阵字库12*16,用C语言编程16点阵字库
  6. JAVA就业管理系统(JAVA毕业设计)
  7. ps cc 生成html,Photoshop自定义工具扩展面板(支持PS CC 2019)
  8. Redis报错:WRONGTYPE Operation against a key holding the wrong kind of value
  9. 使用腾讯云部署war包
  10. 对LNode*与LinkLinst等价却不等用的理解