社区
C#
帖子详情
关于bin和obj文件夹。
hcaihao
2002-05-29 08:04:24
VS.Net会生成bin和obj文件夹以及它们下面的Debug和Release文件夹共4个,谁能告诉我分别有什吗作用?
...全文
754
4
打赏
收藏
关于bin和obj文件夹。
VS.Net会生成bin和obj文件夹以及它们下面的Debug和Release文件夹共4个,谁能告诉我分别有什吗作用?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hcaihao
2002-05-30
打赏
举报
回复
不错不错,高手呀
jhnhu
2002-05-30
打赏
举报
回复
哎!
一、先说说 编译:
编译一个源程序文件,要经过语法、类型,甚至要判断执行时的可行性等。
是一个对文件多次扫描的过程,最后还有代码优化的过程。会有一大堆的中间文件产生。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目录里的东西!
各位说说,我是不是可以去写书了? :)
hcaihao
2002-05-29
打赏
举报
回复
既然obj就放中间代码的目录,为什吗还要release呢?同理,既然bin是放最终代码的目录还要debug干什吗?不是多此一举吗?
jhnhu
2002-05-29
打赏
举报
回复
bin是放最终代码的目录
obj就放中间代码的目录
release和debug是不同的运行方式
debug会增加调试代码,方便调试。调试完后,用release版本发布,没有调试代码,减小程序体积,加快执行速度!
删除
bin
,
obj
文件夹
工具
一个大工程下,如果有很多小工程,用这个工具可以一次性删除工程下的
bin
,
obj
文件夹
。很方便~
C#技巧之快速删除
bin
和
obj
文件夹
的方法
C#程序总会生成
bin
和
obj
文件夹
,为了减小源码的大小,就有必要将这两个
文件夹
删除,于是想到用批处理文件来删除
Export
OBJ
.rar
1、解压 2、用vs打开编译生成dll文件(或者直接去
bin
目录找) 3、打开revit外部工具的addin调用dll文件 4、桌面生成对应
obj
文件夹
,里面就是
obj
文件
C#删除
文件夹
及内容
删除
obj
和
bin
文件夹
及下面的所有文件,或者删除选中的
文件夹
及下面的所有文件。
asp.net项目清理工具
可以清理asp.net项目下的
bin
及
obj
工具,也可以查找指定文件或
文件夹
C#
110,590
社区成员
642,563
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章