代码编译 Compile、Make、Build 的区别

https://blog.csdn.net/fanzheng220112583/article/details/7780250

VC++6.0中Compile和Build的区别

"compile"是“编译”的意思,“build”是“链接”的意思。
compile 的作用是对你的代码进行语法检查,将你的文本程序语言转化成计算机可以运行的“01010....”形式的二进制文件。
build 的作用是将你在程序中调用到的类库融合到你的程序中,比如你用到了printf()函数,那么内部实现该函数的类库代码就会添加到你的程序中。
compile过程生成“.obj”文件或".o"文件,这个和编译器有关,vc++中是“.obj”文件。
build过程生成“.exe”文件。这个可以直接运行
理论上来说应该先点"complile",再点"build"。不过在vc++中直接点“build”它会自动先给你compile再build。

Java 中Compile、Make和Build的区别

针对Java的开发工具,一般都有Compile、Make和Build三个菜单项,完成的功能的都差不多,但是又有区别。

编译,是将源代码转换为可执行代码的过程。编译需要指定源文件和编译输出的文件路径(输出目录)。

Java的编译会将java编译为class文件,将非java的文件(一般成为资源文件、比如图片、xml、txt、poperties等文件)原封不动的复制到编译输出目录,并保持源文件夹的目录层次关系。

在Java的集成开发环境中,比如Eclipse、IDEA中,有常常有三种与编译相关的选项Compile、Make、Build三个选项。

这三个选项最基本的功能都是完成编译过程。但又有很大的区别,区别如下:

1、Compile:只编译选定的目标,不管之前是否已经编译过。

2、Make:编译选定的目标,但是Make只编译上次编译变化过的文件,减少重复劳动,节省时间。(具体怎么检查未变化,这个就不用考虑了,IDE自己内部会搞定这些的)

3、Build:是对整个工程进行彻底的重新编译,而不管是否已经编译过。Build过程往往会生成发布包,这个具体要看对IDE的配置了,Build在实际中应用很少,因为开发时候基本上不用,发布生产时候一般都用ANT等工具来发布。Build因为要全部编译,还要执行打包等额外工作,因此时间较长。

转载于:https://www.cnblogs.com/111testing/p/9274835.html

代码编译 Compile、Make、Build 的区别相关推荐

  1. Compile和Build的区别?

    将用户代码(用高级语言编写的程序代码)转换为机器代码(机器可以识别的二进制代码)的过程称为编译. Build:生成可执行文件 Compile只是对源文件进行编译,生成目标代码,就是.obj文件:BUI ...

  2. 【转】Compile、Make和Build的区别

    原文网址:http://lavasoft.blog.51cto.com/62575/436216 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任 ...

  3. Compile、Make和Build的区别(as make, build, clean, run)

    Compile.Make和Build的区别 - 熔 岩 - 51CTO技术博客 http://lavasoft.blog.51cto.com/62575/436216/ 针对Java的开发工具,一般都 ...

  4. Intellij IDEA 14.x 菜单项中Compile、Make和Build的区别

    Compile.Make和Build的区别 针对Java的开发工具,一般都有Compile.Make和Build三个菜单项,完成的功能的都差不多,但是又有区别. 编译,是将源代码转换为可执行代码的过程 ...

  5. Java开发工具中Compile、Make和Build的区别

    针对Java的开发工具,一般都有Compile.Make和Build三个菜单项,完成的功能的都差不多,但是又有区别. 编译,是将源代码转换为可执行代码的过程.编译需要指定源文件和编译输出的文件路径(输 ...

  6. Android Studio3.0中dependencies依赖由compile变为implementation的区别

    前言 Android Studio版本更新至3.0了,更新后,连带着com.android.tools.build:gradle 工具也升级到了3.0.0,在3.0.0中使用了最新的Gralde 4. ...

  7. SDM670 AMSS代码编译

    Ubuntu16.04系统下AMSS代码的编译 上周高通给的SDM670代码刚刚释放,尝试进行了modem的编译工作. 首先是编译工具的准备,按照高通文档的描述,需要以下工具: 一.工具安装 1.Sn ...

  8. python的代码编译、代码打包方法

    python的代码编译.代码打包方法 代码编译 把代码编译成pyc文件 import py_compilepy_compile.compile(r'文件路径') 或者直接在terminal中运行 py ...

  9. python源代码的后缀名是_Python代码编译与反编译

    众所周知,Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议.那么很自然会有人有这样的疑问:难道Python程序只能以 ...

最新文章

  1. 什么是图神经网络 (GNN)?
  2. android广播接收器
  3. MySQL探秘(五):InnoDB锁的类型和状态查询
  4. JS+CSS全力打造的一级横向滑动,二级竖向下拉综合菜单
  5. Android近场通信---NFC基础(三)
  6. 电子计算机说明文作文,关于电脑说明文作文(精选3篇)
  7. Linux 中的grep命令单引号,不加任何参数以及双引号的作用
  8. android提示用户去开启gps,在不使用GPS或互联网的情况下获取Android中用户的当前位置...
  9. 啊哈c语言逻辑的挑战课后题答案,啊哈C语言 逻辑的挑战(修订版)pdf
  10. Linux文件莫名被删除,【Linux】Linux文件被删除后的恢复方法
  11. luogu4093 序列 (cdq分治优化dp)
  12. 使用代理服务器网速会变慢吗?
  13. 2021年4月4日新增
  14. 前端工程师面试题详解(二)
  15. 苹果系统安装Java开发环境JDK
  16. 自然语言处理(三)——句法分析与依存句法分析
  17. 数据解惑 · 带你认识数字高程模型(DEM)
  18. R语言实战笔记--第十五章 处理缺失数据
  19. 经典面试题之Vue生命周期
  20. 关联分析(Apriori算法) 面包 牛奶 尿布 啤酒 ...

热门文章

  1. 由浅入深理解----java反射技术
  2. 2017-12-07 socket 读取问题
  3. Centos 7和 Centos 6开放查看端口 防火墙关闭打开
  4. php上传大文件时,服务器端php.ini文件中需要额外修改的选项
  5. PyCharm调试错误
  6. 1 Hadoop简介
  7. 谈谈iOS获取调用链
  8. 马约拉纳费米子:推动量子计算的“天使粒子”
  9. 北航教授李波:说AI会有低潮就是胡扯,这是人类长期的追求
  10. 上班第一天(6)--一个程序员的成长史(15)