关于VS2013中的生成,重新生成,仅用于项目生成,重新生成

最近在编写代码中遇到了一个非常奇葩的问题,就是我再头文件中添加了一个锁的定义,就导致程序编译后必现崩溃,而且崩溃点和我的代码没有啥关系,后来花了将近一天的时间,定位出原因是我没有重新生成,而只是生成。下面说说下面四个的区别

1.生成

2.重新生成

3.仅用于项目生成

4.仅用于项目重新生成

当一个解决方案中的项目没有依赖项目时,1.3相同,2.4相同。

生成的意思是,如果你之前已经编译过了,那生成只是进行编译你改变的文件,不改变的文件就不再重新编译,直接进行连接了,

这个在项目工程文件比较大的情况下,在调试阶段,这个方法还是比较常见的。

重新生成的意思是修改后,重新编译所有的文件,这样比较把握,但是耗费时间比较长。

当有项目依赖项的时候,比如项目A,依赖于项目B和C.

如果选择生成A,那么在编译A前,要查看项目B和C是否有变化,有的话会先编译B和C

如果选择重新生成,那么在编译A前,就会重新编译B和C

而仅用于项目,就不会考虑依赖项了,只会对A进行操作。

我最近写代码就是在调试阶段,频繁的编译验证程序的可行性,所以总是对项目进行生成(我的项目没有依赖项)

最后导致了我开头出现的奇葩问题。建议在调试阶段,生成一段时间后,清理下项目,重新进行生成一次。

你可能感兴趣的:(C/C++,操作系统,Windows)