BIN OBJ 区别

bin是放最终代码的目录 
obj就放中间代码的目录 
 
release和debug是不同的运行方式 
debug会增加调试代码,方便调试。调试完后,用release版本发布,没有调试代码,减小 
程序体积,加快执行速度! 
 
一、先说说 编译: 
编译一个源程序文件,要经过语法、类型,甚至要判断执行时的可行性等。 
是一个对文件多次扫描的过程,最后还有代码优化的过程。会有一大堆的中间文件产生。 
vc6下的一个mfc项目 obj目录里会有好几M的中间(临时)文件。 
再复杂点,一个project有图片(声音)等资源文件,要调用其他DLL类库(可能是.net组 
件,可能是com),还可能由多个.cs文件组成。要把这么多东西连接在一起。以前在DOS下 
用C或PASCAL,要先编译成.obj文件,再用link.exe连接在一起,才是一个exe文件。(记 
得pascal还是fortran要用两个编译程序才能得到一个.obj的中间文件) 
结论:编译需要大量的中间文件存放临时结果,为下一步做准备。C#是面向对象的复杂度 
更高!obj目录就是用来存放临时文件的! 
 
二、debug & release 
debug调试,你在程序中设置了断点,为什么vs.net知道在那里要停下来,当你把鼠标移到 
某个变量上,vs.net就会显示它当时的值? 
因为编译器在代码中添加了许多调试需要的代码,可以让vs.net得到,返回给你。 
这些代码当然是要占用空间和时间的,在你的程序调试完了后,可以正确运行了。完全可 
以去掉这些代码,这时候就应该用Release模式了。 
 
不管Debug还是Release模式,都要编译,都有中间临时代码产生,所以obj目录下有debug 
 release目录。两种模式编译的结果,就放在bin目录下。 
编译完后,中间临时代码是没什么用的了,所以一般不管obj目录里的东西!
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值