编译的过程以及相关的文件(C++学习)

5人阅读 评论(0) 收藏 举报
分类:

编译

编译就是将源文件(*.cpp)转化成目标文件(*.obj)。


编译单元

每个cpp文件(包括这个文件include的所有头文件)都是一个编译单元。

每个编译单元的相互独立的,即编译器不能跨越两个编译单元将它们联系起来(这会由链接器来完成)。


目标文件

目标文件指编译后生成的文件。


编译的过程

                   高级语言指令->汇编代码->机器代码->生成目标文件(.obj)

1)预处理

预处理最常见的就是将头文件(*.h)的代码扩展到包含它的源文件(*.cpp)里。

预处理中会展开#起始的行,试图解释为预处理命令。(如#include,#define,#else等等)

2)编译、优化

编译生成汇编代码。其过程会对代码进行优化(针对代码优化,不依赖计算机)。

3)汇编

将汇编语言转换成机器语言。其过程会对代码进行优化(针对计算机优化)。最后生成目标文件

查看评论

osg android 库的编译与例子编译

-
  • 1970年01月01日 08:00

C++程序编译过程详解

一般来说,我们可以把C++程序编译过程分为以下四步 (1)编译预处理 主要进行源码级别上的操作,预处理器执行源码中的预处理命令(以‘#’号开头的语句),其中预处理命令可以分为以下几类 a. 宏定义命令...
  • AmNotGod
  • AmNotGod
  • 2014-12-08 20:15:48
  • 2747

C++编译和链接过程的详解

1.基本概念1.编译:编译器对源文件进行编译,就是把源文件中的文本形式存在的源代码翻译成机器语言形式的目标文件的过程,在这个过程中,编译器会进行一系列的语法检查。如果编译通过,就会把对应的CPP转换成...
  • Why000me
  • Why000me
  • 2015-08-16 23:19:21
  • 2130

C/C++——程序实现过程之编译、链接和执行

一个程序的建立经历了预处理、编译、汇编、链接和执行这五个阶段,了解这些过程中所做的工作,对我们在编程时调试程序中有很大帮助。本文总结了编译和链接,阐述了程序建立的过程,希望帮助读者在程序开发中深刻理解...
  • u010757264
  • u010757264
  • 2015-11-28 12:05:30
  • 1454

C++ 编译,运行过程 详解。

要更深入了解C++, 必须要知道一个程序从开始到结束都干了些什么, 怎么干的。 所以我从C++编译到运行过程,解析下程序是怎么跑的。         首先,初略的说一下之前C++的编译过程,C++编...
  • yinzhuo1
  • yinzhuo1
  • 2015-07-26 17:14:21
  • 14391

进程的相关知识总结

前几篇博文中我已经介绍过进程的创建以及一些基本知识,这里就不再赘述,本篇博文我主要会涉及进程的终止细节以及父进程对子进程的监控,还有函数组exec()1.进程的终止(1)_exec()和exit()进...
  • Shreck66
  • Shreck66
  • 2015-07-28 10:59:11
  • 710

c++进阶学习计划

背景最近在项目中使用Python来解决问题,虽然好用,但是在关键性能模块就显得疲软,所以最近重温使用C++来开发,发现C++解决问题的方便程度虽然没有python来的这么顺手,但是通过自身不断发掘库与...
  • razorluo
  • razorluo
  • 2017-06-20 23:51:48
  • 810

C++编译链接原理简介

在实习的过程中,偶尔会在编译代码的时候出现莫名其妙的链接错误,或者更惨的是,编译链接通过了,运行的时候出现莫名其妙的coredump,查了半天原来是.a静态库更新了导致.h文件和.o文件不一致。受够了...
  • jiange_zh
  • jiange_zh
  • 2016-08-11 23:43:05
  • 1677

cc++程序编译连接过程

  • 2014年07月15日 18:47
  • 33KB
  • 下载

一个cpp文件的编译过程详解

一个CPP文件的编译过程 笼统的说一个CPP文件的编译过程就是以下几步 Created with Raphaël 2.1.2预处理(做优化,生成.i文件)编译器(生成.s文件)汇编器(生成.o...
  • zk3326312
  • zk3326312
  • 2018-01-03 21:19:48
  • 168
    个人资料
    等级:
    访问量: 62
    积分: 155
    排名: 113万+
    文章存档