代码编译 Compile、Make、Build 的区别
代码编译 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 的区别的更多相关文章
- C++中compile与build的区别
我在前面的博文就提到了GCC编译器工作的四个阶段:预处理.编译.汇编.链接. 感兴趣的同学可以参考:http://www.cnblogs.com/mlgjb/p/7708007.html compil ...
- 【转】Compile、Make和Build的区别
原文网址:http://lavasoft.blog.51cto.com/62575/436216 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任 ...
- Compile、Make和Build的区别
针对Java的开发工具,一般都有Compile.Make和Build三个菜单项,完成的功能的都差不多,但是又有区别. 编译,是将源代码转换为可执行代码的过程.编译需要指定源文件和编译输出的文件路径 ...
- [转] Compile、Make和Build的区别
针对Java的开发工具,一般都有Compile.Make和Build三个菜单项,完成的功能的都差不多,但是又有区别. 编译,是将源代码转换为可执行代码的过程.编译需要指定源文件和编译输出的文件路径 ...
- Compile、Make和Build的区别(as make, build, clean, run)
Compile.Make和Build的区别 - 熔 岩 - 51CTO技术博客 http://lavasoft.blog.51cto.com/62575/436216/ 针对Java的开发工具,一般都 ...
- Intellij IDEA 14.x 菜单项中Compile、Make和Build的区别
Compile.Make和Build的区别 针对Java的开发工具,一般都有Compile.Make和Build三个菜单项,完成的功能的都差不多,但是又有区别. 编译,是将源代码转换为可执行代码的过程 ...
- 41.关于Intellij IDEA菜单项中Compile、Make和Build的区别
转自:https://www.cnblogs.com/ini_always/archive/2011/10/23/2221985.html Compile.Make和Build的区别 针对Java ...
- Android Studio3.0中dependencies依赖由compile变为implementation的区别
前言 Android Studio版本更新至3.0了,更新后,连带着com.android.tools.build:gradle 工具也升级到了3.0.0,在3.0.0中使用了最新的Gralde 4. ...
- 【转】vlc android 代码编译
转自:http://blog.csdn.net/asircao/article/details/7734201 系统:ubuntu12.04代码:git://git.videolan.org/vlc- ...
随机推荐
- 关于Virtual Box虚拟机里的系统不能启动的解决方法
当我们的虚拟机在非正常关闭后,再次启动机器时,Virtual Box会出现 Runtime error opening 'C:\Users\admin\VirtualBox VMs\Windows S ...
- FileInputStream 和 FileOutputStream
简介 FileInputStream和FileOutputStream都是用来处理二进制数据源磁盘文件的流的. 他们分别派生自顶层抽象类InputStream和OutputStream FileInp ...
- [工具] CintaNotes
CintaNotes是一款非常轻巧实用的笔记软件,可看作EverNote轻量级替代品.CintaNotes只需1个exe,体积仅1MB,却拥有 EverNote易于收集.实时搜索.条状排列.tag分类 ...
- Android LayoutCast 初探
今天无意间看见了一个神器,顿时让我血气蓬勃! 废话不多说,先上网址:https://github.com/mmin18/LayoutCast 把代码和资源文件的改动直接同步到手机上,应用不需要重启.省 ...
- vue--自定义指令进行验证(1)
实例代码: <template> <div id="app" class="app"> <h3>{{msg}}</h3 ...
- #if 和 #ifdef 条件编译注意
之前写程序很少用到这两个条件编译,只是在头文件的开头使用过 #ifdef ....<CODE>.... #endif,他是防止头文件被重复包含,导致的变量被多处声明或定义. 最近写程序发 ...
- SQL Fundamentals || 多表查询(内连接,外连接(LEFT|RIGHT|FULL OUTER JOIN),自身关联,ON,USING,集合运算UNION)
SQL Fundamentals || Oracle SQL语言 一.多表查询基本语法 在进行多表连接查询的时候,由于数据库内部的处理机制,会产生一些“无用”的数据,而这些数据就称为笛卡尔积. 多表查 ...
- PyCharm安装配置Qt Designer+PyUIC教程
原文写的不错,拿来大家都可以看一下 原文地址:https://www.cnblogs.com/lsdb/p/9121903.html https://www.cnblogs.com/tiankong2 ...
- JavaScript学习12.1
JavaScript弹窗可以创建3种消息框:警告框.确认框.提示框,可以不带window对象直接使用相应的方法警告框:保护用户可以得到某些信息,当出现警告框后需要用户点击确认按钮之后才能操作windo ...
- Oracle管理监控之如何对数据库进行监控检查
oracle自动工作负载库(AWR):采集与性能相关的统计数据,并从统计的数据中导出性能量度,以跟踪数据库潜在的问题. 如何生成oracle数据库的自动负载库报告. 手工生成一份oracle数据库的快 ...