VC中的rebuild all和普通的build有什么区别?

flamingheart 2005-07-30 09:38:36
我想知道内幕,到底是怎么回事?
...全文
1542 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
lz3771 2010-06-14
  • 打赏
  • 举报
回复
非常有用啊
kazi 2006-02-10
  • 打赏
  • 举报
回复
同意 steedhorse(晨星) 的解释,

我也经常遇到项目修改一些文件以后调试时有莫名其妙的错误, rebuild一下就正常了.
现在的项目在我机器上编译一次要十几分钟. 经常rebuild很是辛苦.

另外推荐给大家一个工具: incredibuild 联合编译工具, 功能是用几个PC机同时编译一个项目. 适合于有很多可用机器的情况. 我们开发部门现在都安装了这个软件. 单机编译需要十几分钟的项目现在只需要两分钟左右. 在开发大项目的时候, 用过它一次, 相信你就不会忘记它了. 现在已经支持vs2005. 不过没找到好用的破解版, 未破解的可以使用一个月. 哪位有兴趣在网上找到最近的能用的破解版贴到这里啊!

PS:我下过一个破解, 显示已经破解了, 不过到月还是不能用.
gnixemos 2006-02-08
  • 打赏
  • 举报
回复
各种平台上的make就是依据代码文件的修改时间作为是否需要重新build的依据的

build出错是因为没有有的文件没有编译,特别是头文件变了之后。
小的工程rebuild一下是没有问题,大的版本一般都是编写自动build工具的
wshcdr 2006-02-08
  • 打赏
  • 举报
回复
不知道 steedhorse(晨星) 说得是否正确

是否官方说法
zcz0918 2005-12-26
  • 打赏
  • 举报
回复
不过最后release项目的时候还是要rebuild all一下好点:)
晨星 2005-12-24
  • 打赏
  • 举报
回复
但如果对于特别大的项目,经常Rebuild All是很花时间的,比如说当项目大到Rebuild All一次需要10分钟甚至更多,你可能就觉得只要不出问题,还是Build好,呵呵。
晨星 2005-12-24
  • 打赏
  • 举报
回复
因为你改过一些东西之后,有时导致别的模块也需要重新编译。
而现在看来,Visual Studio的智能性还不够,它有时不能非常准确地判断出都有哪些文件需要重新编译。于是,当你Build时,它仅仅把它认为需要重新编译的重新编译一下,而有时候它的判断实际是不够的。
但Rebuild All就不同了,它把所有的东西都重新编译,不管改过的,没改过的;还是它认为有依赖的,没依赖的,统统重来,于是问题就消除了。
flamingheart 2005-12-24
  • 打赏
  • 举报
回复
我为什么有时候build出错,而rebuild all一下就好了,谁能从原理上解释一下
flamingheart 2005-11-03
  • 打赏
  • 举报
回复
为什么我有时候build有错,而rebuild一下就好了
wylove 2005-11-03
  • 打赏
  • 举报
回复
在Build菜单下有Compile,Build,Rebuild All三个菜单项用于编译程序。其中Compile用于编译当前打开的活动文档;Build只编译工程中上次修改过的文件,并链接程序生成可执行文件。如果以前没有作过编译,它会自动调用Rebuild All操作,依次编译资源文件、源程序文件等;Rebuild All不管文件是否作过修改,都会编译工程中的所有源文件。由于编译链接过程中会产生大量的中间文件和目标文件,它们占用许多硬盘空间,因此Visual Studio在Build下提供了Clean菜单项用于清除这些中间文件。用户在完成一个工程后,应及时清理这些中间文件,否则硬盘很快会被耗尽。
lujun-cc 2005-11-03
  • 打赏
  • 举报
回复
楼主这个问题好!
Jagen在路上 2005-07-30
  • 打赏
  • 举报
回复
rebuild all 就是完全重新编译
普通的build仅对修改过的部分进行编译,这是按照文件的最后修改时间进行确认的!
关于这方面的详细资料,参看make工具方面的内容。

24,855

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧