目录

前言

一、编辑

二、编译

三、连接与运行

前言

C语言源程序需要经过编译、连接等一系列步骤才能够生成真正可运行程序。


一、编辑

编辑是指将已经编写好的源程序录入计算机并生成磁盘文件的过程。在编辑过程中所使用的软件,称为编辑器,像我们常用的代码编辑器,浏览器有NotePad++,Source Insight,Visual Studio Code以及各种不同产商提供的集成开发环境等都包含了编辑器。C语言源程序是一个以ASCII码形式存放的文本文件。该文件一般以“.c”作为扩展名。这个文件并能够在计算机上直接运行。要得到一个能够在计算机上直接运行的可执行文件,还必须对源程序进行编译和连接。

二、编译

编译是指将已经编辑好的源程序翻译成二进制目标代码的过程。用于实现编译功能的程序就称为编目标文件译器。

在编译过程中,系统会首先对源程序进行预处理,然后进行编译处理。在编译时会对源程序中的语法进行分析和检查。当发现错误时会将错误按照性质划分为“警告错误(warning)”和“致命错误(error)”,用户需要根据错误信息提醒,重新编辑源程序,然后重新编译,直到排除错误为止。如果在编译过程中没有发现错误,则会生成一个以“.obj”为扩展名的二进制代码文件,也称为目标文件。

三、连接与运行

连接是指将多个当前目标文件和系统提供的标准库函数连接在一起,以生成可直接运行的可执行文件的过程。在连接过程中生成的可执行文件一般以“.exe”为扩展名。此外在生成可执行文件后需要运行程序,并对程序运行结果进行验证与分析。

C语言程序的运行与调试过程相关推荐

  1. c语言程序中的错误可分为,C语言程序常见错误与调试方法(1)

    <C语言程序常见错误与调试方法(1)>由会员分享,可在线阅读,更多相关<C语言程序常见错误与调试方法(1)(17页珍藏版)>请在人人文库网上搜索. 1.C语言程序常见错误与调试 ...

  2. 【Python】Spyder编译器“updating indices”问题导致程序无法运行或调试

    按教程装好JetBrains PyCharm 2018.3 x64,并正常激活后,打开GitHub下载的工程.发现工程底部一直提示"scanning files to index" ...

  3. c语言程序快乐无极,PLSQL安装过程和SCOTT用户被锁的解决方法

    python包下载地址 https://pypi.python.org/pypi http://www.lfd.uci.edu/~gohlke/pythonlibs/ 当在线安装安装不了时,需要将安装 ...

  4. 编好的C语言程序怎么运行,如何在cmd窗口编译运行c语言程序?

    在cmd窗口编译运行C语言程序总共分两步:第一步,在编译器目录下执行编译命令:第二步,在编译器目录下运行可执行程序.需要插件?完全没这回事儿!下面用一个例子来说明. 一.经典的C程序代码 最经典的C程 ...

  5. c语言file_C语言程序的编译和调试

    1.gcc编译器-熟练使用 gcc(GNU Compiler)是GNU推出的多平台编译器,可以将C.C++源程序编译连接成可执行文件,支持后缀如下: 后缀备注.cc语言源代码文件.h程序所包含的头文件 ...

  6. c语言程序一运行就显示,为什么一运行这个读取并显示内容的程序就提示程序错误?...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 请各位朋友帮忙看一看,这是什么原因造成的,一直没有解决这个问题. 平台:CFREE 生成文件的程序代码如下: #include #include" ...

  7. c语言程序如何运行程序,CFree怎么运行程序 编译运行C语言程序代码的方法

    CFree是一款C语言编译软件,用户可以利用这款软件编译C/C++程序 ,如果你想要运行已经编写好的C语言代码,只需要几个简单的操作即可实现,如果你还不知道怎么运行,就赶快来看看下面的教程吧! 1.首 ...

  8. c语言程序为什么运行一半就自动关闭了,C语言为什么程序运行一半就出现停止工作...

    匿名用户 1级 2016-04-04 回答 有点儿意思.原因却出乎意料的简单. char *rwtab[27]={"main","if","then& ...

  9. linux 中断 c语言程序,linux驱动之中断处理过程C程序部分

    当发生中断之后,linux系统在汇编阶段经过一系列跳转,最终跳转到asm_do_IRQ()函数,开始C程序阶段的处理.在汇编阶段,程序已经计算出发生中断的中断号irq,这个关键参数最终传递给asm_d ...

最新文章

  1. 开始写博客,毕业一年的收获
  2. Hadoop 之父:普通程序员到顶级公司 CTO 的进阶之路
  3. 使用pyppeteer爬取淘宝商品
  4. 'Request' object has no attribute 'META'报错解决
  5. iphone静态库的加载和调试
  6. 03-linux查询端口
  7. Redis五大数据类型以及操作---散列表
  8. 曲奇云盘资源搜索引擎_曲奇云盘下载-曲奇云盘资源共享群组下载_快啦网
  9. 语音领域的波束形成Beamforming小结
  10. 微信小程序之首页轮播图片自适应高度
  11. win10wifi间歇性断网重启后恢复_解决WIN10间歇性断网
  12. 计算机三级网络技术考试详解
  13. Android 基站定位源代码
  14. 爬取《斗破苍穹》小说全文
  15. 东吴证券分析报告(0607)
  16. Nexus 6p 内核编译
  17. mybatis-plus 的分页使用(物理分页)
  18. 工业控制系统发展趋势 --PLC的虚拟化和软件定义
  19. 阿里云网盘内测_申请阿里云网盘内测资格
  20. redis练习手册redis的配置文件redis.conf介绍

热门文章

  1. php adodb5,常用的php ADODB使用方法集锦
  2. mysql 等距_Python气象绘图教程(十一)
  3. Word文档很乱怎么办 杂乱的文章word排版教程
  4. 代码高处走 从VC6到VC9移植代码问题说明
  5. Tomcat 8(一)Tomcat常用配置
  6. 英文单词按字母顺序排序
  7. 相对X86+Windos云桌面,多多云ARM+安卓的云桌面有何价值?
  8. Vivado Turtorial 01 —— 使用vivado中debug功能(类似ISE中ChipScope)
  9. java复制pdf_防止复制使用iText生成的pdf内容
  10. 很多人劝你不要转行IT了,互联网人才饱和了,是真的吗?