Debug和Release的区别以及obj文件的作用

  • Debug和Release的区别

Debug:调试版本,包含调试信息,所以容量比release大很多,并且不进行任何优化,(优化会使调试复杂化,因为进行优化肯定会进行一些额外的处理,这样就导致了源代码和生成的指令间关系变得更加复杂),便于程序员调试。Debug模式下生成两个文件,除了.exe 或 .dll 文件外,还有一个.pdb文件,该文件记录了代码中断点等调试信息。

Release:发布版本,不对源码进行调试,编译时对应用程序进行优化,使得程序在代码和运行速度上都是最优的。(调试信息可在单独的pdb文件中生成),Release模式下生成一个文件.exe或.dll

  • obj文件夹的作用

obj目录中也有debug和release两个子目录,obj目录时项目生成dll的源目录,然后将生成好的dll复制到bin目录下。obj用于存放编译过程中生成的中间临时文件。在.Net中,编译时分模块进行,每个模块的编译结果都保存在obj目录下,最后会合并为一个.exe或者.dll文件保存到bin目录下。每次编译都是默认采用增量编译,即只重新编译改变了的模块,obj保存每个模块的编译结果,用来加快编译速度。是否采用增量编译,可以通过:项目属性—>配置属性—>高级—>增量编译设置。

没有更多推荐了,返回首页