c代码

  • 1.集成开发环境(IDE)
  • 2.如何跑起来
  • 3.以VS为例

1.集成开发环境(IDE)

集成开发环境包含如下

  1. 编辑器:用来编写代码,并且给代码着色,以方便阅读;
  2. 代码提示器:输入部分代码,即可提示全部代码,加速代码的编写过程;
  3. 调试器:观察程序的每一个运行步骤,发现程序的逻辑错误;
  4. 项目管理工具:对程序涉及到的所有资源进行管理,包括源文件、图片、视频、第三方库等;
  5. 漂亮的界面:各种按钮、面板、菜单、窗口等控件整齐排布,操作更方便

简单来说是一系列开发工具的组合套装。这就好比台式机,一个台式机的核心部件是主机,有了主机就能独立工作了,但是我们在购买台式机时,往往还要附带上显示器、键盘、鼠标、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)
把汇编代码转化为二进制指令(机器指令),形成符号表

链接

  1. 合并段表
  2. 符号表的合并和重定位

3.以VS为例

从VS文件中看:.c(源文件) .obj(目标文件) .exe(可执行文件),如下图所示


两个.c文件编译,链接生成可执行的程序,然后运行。

C代码如何跑起来(程序编译和预处理)相关推荐

  1. C语言程序设计 | 程序编译与预处理

    目录 一.程序的翻译环境和执行环境 二.详解编译+链接 1.翻译环境 2.编译 2.1预编译/预处理 2.2编译 2.3汇编 三.预处理详解 1.预定义符号 2.#define 2.1#define定 ...

  2. 探索C语言程序奥秘——C语言程序编译与预处理

    ⭐️前面的话⭐️ 大家好!我们所编写的C语言代码是这么变成了可以执行的程序的呢?这一切都是编译器的功劳,这篇文章将带大家认识代码是这么变成程序的.

  3. github的python代码怎么跑_python程序员一步两步教你使用GitHub!

    作为一个Python爬虫师一步步教你们怎么把代码放入到github 中! 首先呢我们下载一个git的客户端 学习Python中有不明白推荐加入交流群号: 前面548中间377后面875 群里有志同道合 ...

  4. c语言条件编译include,7.1编译与预处理-include-c学习 | 时刻需

    7.1.25文件包含 文件包含是C语言预处理的另一个重要功能,用"#include"来实现,将一个源文件的全部内容包含到另一个源文件中,成为它的一个部分,文件包含的一般格式为: # ...

  5. python做好的程序如何变成小程序-使用python编写简单的小程序编译成exe跑在win10上...

    每天的工作其实很无聊,早知道应该去IT公司闯荡的.最近的工作内容是每逢一个整点,从早7点到晚11点,去查一次客流数据,整理到表格中,上交给素未蒙面的上线,由他呈交领导查阅. 人的精力毕竟是有限的,所以 ...

  6. C++ 程序编译过程:从代码到程序

    在大学课堂上学习 C++ 时,老师并没有过多涉猎 C++ 语法背后的知识.也就是说,初学 C++ 时,哪怕写出了代码,我也并不知道从代码到程序的过程中究竟发生了什么.我也曾尝试了解,但作为初学者,面对 ...

  7. 单片机入门学习五 STM32单片机学习二 跑马灯程序衍生出的stm32编程基础

    上篇文章 单片机入门学习四 STM32单片机学习一 跑马灯程序和创建工程 仅介绍了入门程序及其编译运行过程,下面开始对stm32的一些基础知识做一个记录. 1.stm32f103zet6(上篇问题3 ...

  8. 用Python实现一个CPU跑分程序

    一般我们要对cpu进行跑分测试,在不同的系统有时测试软件不能统一,比如Linux下就没有CineBench,导致跑分成绩对比不方便,所以想着自己写一个简单的跑分程序. 代码用Python实现,可以分别 ...

  9. 程序编译、优化、调试大杂烩

    程序编译.优化.调试大杂烩 文章目录 程序编译.优化.调试大杂烩 1 编译.链接.汇编.调试 1.1 议题 1.2 CPU cache 1.2.1 为什么要有CPU Cache 1.2.2 为什么要有 ...

最新文章

  1. PCB线宽与电流的关系
  2. ASP.NET创建文件并写入内容
  3. C Primer+Plus(十七)高级数据表示 编程练习(二)
  4. Java集合之HashSet源码分析
  5. gtest测试框架使用详解_python selenium自动化测试框架如何搭建使用?
  6. Linux文件类型及颜色标识整理
  7. Hexo博客NexT主题美化之新增看板娘(能说话、能换装)
  8. MySQL 5.6 主从报错一例
  9. 管理感悟:每次争吵后要有进步
  10. 【Java】俄罗斯方块Java版
  11. Photoshop cc2019 破解教程
  12. Metro风格的CSS框架 BootMetro
  13. 我如何选PHP开发工具(PHP IDE)
  14. html table自动序号,layui 给数据表格加序号的方法
  15. Fresco判断是否缓存
  16. 如何关闭任务栏中chrome浏览器的通知图标
  17. css 多行文字左对齐,纯CSS实现文字一行居中,多行左对齐的方法
  18. Dataframe中na.fill的用法
  19. OOA/OOD/OOP细讲
  20. 零基础python入门书籍推荐书目_清华大学出版社-图书详情-《Python数据科学零基础一本通》...

热门文章

  1. 氩弧焊机的电气图_瑞凌TIG200A氩弧焊完整图(MOS管)分析
  2. Raft 论文精读笔记|In Search of an Understandable Consensus Alg orithm (Extended Version)
  3. opengl 读取obj模型
  4. Originpro绘制y轴偏移堆积图无法设置偏移量
  5. 玩吧斗兽棋的一些攻略 同级子谁胜负问题
  6. Gluster集群搭建
  7. (二)Gluster 架构部分(节-1)
  8. 软件工程基于场景建模 习题
  9. Linux进阶 | 2万字总结最详细的Docker的安装、底层隔离机制和简单使用!建议收藏,持续更新❤
  10. 114个ChatGPT全网最热话题