代码编译 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因为要全部编译,还要执行打包等额外工作,因此时间较长。

代码编译 Compile、Make、Build 的区别的更多相关文章

  1. C++中compile与build的区别

    我在前面的博文就提到了GCC编译器工作的四个阶段:预处理.编译.汇编.链接. 感兴趣的同学可以参考:http://www.cnblogs.com/mlgjb/p/7708007.html compil ...

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

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

  3. Compile、Make和Build的区别

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

  4. [转] Compile、Make和Build的区别

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

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

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

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

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

  7. 41.关于Intellij IDEA菜单项中Compile、Make和Build的区别

    转自:https://www.cnblogs.com/ini_always/archive/2011/10/23/2221985.html Compile.Make和Build的区别   针对Java ...

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

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

  9. 【转】vlc android 代码编译

    转自:http://blog.csdn.net/asircao/article/details/7734201 系统:ubuntu12.04代码:git://git.videolan.org/vlc- ...

随机推荐

  1. css3整理--gradient

    gradient语法: -moz-linear-gradient( [<point> || <angle>,]? <stop>, <stop> [, & ...

  2. Android studio Unable to start the daemon process

    Unable to start the daemon process.This problem might be caused by incorrect configuration of the da ...

  3. Android studio 安装已经下载好的gradle.zip文件【ubuntu 14.04 LTS环境】

    一 下载 gradle-3.3-all.zip 包 http://download.csdn.net/detail/t6546545/9732412 http://www.fxxz.com/soft/ ...

  4. sencha touch NavigationView 嵌套 TabPanel 的问题

    在st2.1之中,在NavigationView视图之中在嵌套一个TabPanel会有以下问题 下面我们监控TabPanel的activate事件和activeitemchange事件 会发现当首页加 ...

  5. WORD Application.Documents.Open函数返回null的一种解决方法

    DCOM Config Setting for "Microsoft Office Word 97 - 2003 Document" 内部配置一切正常,但调用Application ...

  6. Docker关联使用的一些工具:Clip名字服务(转载)

    Clip名字服务 Clip(http://blog.puppeter.com/read.php?7)是一个名字服务C/S架构,它将传统的IP管理维度替换为名字服务即有意义可记忆的String.Clip ...

  7. 【BZOJ2310】ParkII 插头DP

    [BZOJ2310]ParkII Description Hnoi2007-Day1有一道题目 Park:给你一个 m * n 的矩阵,每个矩阵内有个权值V(i,j) (可能为负数),要求找一条回路, ...

  8. 我的node+express小例子

    启动index.js: var express = require("express"); var path = require("path"); var op ...

  9. centos7搭建docker私有仓库

    1.环境: [root@docker02 anchors]# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) [root@do ...

  10. POJ-2777 Count Color(线段树,区间染色问题)

    Count Color Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 40510 Accepted: 12215 Descrip ...