我在VC++编程中使用vector,关闭程序时间显示错误,好像是内存泄漏 ( 积分: 100 )

O

otot

Unregistered / Unconfirmed
GUEST, unregistred user!
我在修改别人的一个程序时,里面原来有一个类使用了VECTOR的数组,原程序是正常运行的,但当我多加一个VECTOR数组进去,却发现程序虽然也能正常运行,但是退出时系统总是弹出报错对话框,如果多加两个VECTOR数组,报错就会弹出两次,似乎是因为我没有释放相应的内存而出错。但是我在原来的程序中,并看不到有对原来的VECTOR数组的释构程序,也听说VECTOR是会自动释放内存的,但是为什么别人的程序退出就不报错我的就报错呢?
因为原来程序不是标准的MFC,VC++似乎不能用其调试命令,而WINDOW报错的信息一大堆也看不大懂啊。如下:
<?xml version="1.0" encoding="UTF-16"?>
<DATABASE>
<EXE NAME="Game.exe" FILTER="GRABMI_FILTER_PRIVACY">
<MATCHING_FILE NAME="Game.exe" SIZE="49152" CHECKSUM="0x43EFAF0F" BIN_FILE_VERSION="1.0.0.1" BIN_PRODUCT_VERSION="1.0.0.1" PRODUCT_VERSION="1, 0, 0, 1" FILE_DESCRIPTION="Game MFC Application" COMPANY_NAME="" PRODUCT_NAME="Game Application" FILE_VERSION="1, 0, 0, 1" ORIGINAL_FILENAME="Game.EXE" INTERNAL_NAME="Game" LEGAL_COPYRIGHT="Copyright (C) 2000" VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x1" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="1.0.0.1" UPTO_BIN_PRODUCT_VERSION="1.0.0.1" LINK_DATE="01/05/2007 08:23:27" UPTO_LINK_DATE="01/05/2007 08:23:27" VER_LANGUAGE="中文(台湾) [0x404]" />
</EXE>
<EXE NAME="kernel32.dll" FILTER="GRABMI_FILTER_THISFILEONLY">
<MATCHING_FILE NAME="kernel32.dll" SIZE="1144832" CHECKSUM="0xC7EEF64B" BIN_FILE_VERSION="5.1.2600.2945" BIN_PRODUCT_VERSION="5.1.2600.2945" PRODUCT_VERSION="5.1.2600.2945" FILE_DESCRIPTION="Windows NT BASE API Client DLL" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft(R) Windows(R) Operating System" FILE_VERSION="5.1.2600.2945 (xpsp_sp2_gdr.060704-2349)" ORIGINAL_FILENAME="kernel32" INTERNAL_NAME="kernel32" LEGAL_COPYRIGHT="(C) Microsoft Corporation. All rights reserved." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x126063" LINKER_VERSION="0x50001" UPTO_BIN_FILE_VERSION="5.1.2600.2945" UPTO_BIN_PRODUCT_VERSION="5.1.2600.2945" LINK_DATE="07/05/2006 10:55:58" UPTO_LINK_DATE="07/05/2006 10:55:58" VER_LANGUAGE="中文(中国) [0x804]" />
</EXE>
</DATABASE>
 
大概你用了DLL吧。
 
没有使用DLL啊。
我后来自己建立一个新的类,在新类里面添加VECTOR数组,然后在原来的类里面建立了这个新类的一个实例,这样没再出现上述的出错了。奇怪。
 

Similar threads

顶部