有关VS的编译问题
一个程序中有指针动态分配内存,那么我在编译的时候(按F5),编译器是不是已经将该动态内存给分配好了,分配好了的话,如果有delete语句,那么编译结束时会不会把这段内存delete掉?如果我没有写delete语句,是不是即使在编译阶段也会造成内存泄露?还有,如果我没有通过编译(按F5),就直接运行,代码中如果有内存泄露问题是不是无法挽回了?
[解决办法]
我想楼主还没有搞清楚,动态分配内存是怎么回事情。肯定是要到运行阶段的时候才会进行分配内存的。F5不是调试吗?你的设置为编译了?还是你编译和调试分不清楚?如果有delete语句,执行完后动态分配的内存就会被释放了。如果你不写的话,在调试模式下,内存会被编译器给你回收,并且通知你有内存泄露。如果在release模式下就不会被删除了
[解决办法]
debug 是调试版本
release是发布版本
debug和release 切换你可以在 VS中 绿色三角处做切换!!
F7 是编译,F5是编译+调试
你还是学学基本的VS操作!!
[解决办法]
1. 编译时,是绝对不会造成内存泄露的
2. 代码中如果有内存泄露问题是不是无法挽回了?
你把运行的程序关掉,内存就会被回收了。如果碰巧关不掉,重启机器就回收了。