如何释放VC++程序调试过程中占用的内存

程序调试过程中经常出现CPU占用到100%的情况我遇到的应该不是上面两位朋友所说的死循环的问题。下面是一段用VC++6.0写的打开并播放一个音频文件的代码,我在运行的时候... 程序调试过程中经常出现CPU占用到100%的情况
我遇到的应该不是上面两位朋友所说的死循环的问题。
下面是一段用VC++6.0写的打开并播放一个音频文件的代码,我在运行的时候就会出现CPU使用率100%的情况,我检查过没有死循环的地方。
鉴于问题补充字数限制,现在我把代码以回答者的身份粘贴在三楼,希望大家能给点儿意见。
展开
 我来答
CarbonTalent
推荐于2016-05-21 · TA获得超过205个赞
知道答主
回答量:53
采纳率:0%
帮助的人:51.5万
展开全部
那不是释放内存的问题,而是你运行的程序是死循环,就是没办法停止,建议你修改程序。还有,在C++中释放内存可以用delete语句,比如我申请了动态存储空间p,“ int *p; p=new int[10];”最后我想释放内存,就需要添加语句“delete []p”.
说多一点,使用doc系统,但程序结束时,系统会自动释放内存的。应该回答了你的问题了。
qq949889534
2011-04-05 · 超过30用户采纳过TA的回答
知道答主
回答量:243
采纳率:0%
帮助的人:129万
展开全部
可能你代码写的时候逻辑出问题,出现死循环了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-04-11
展开全部
我遇到的应该不是上面两位朋友所说的死循环的问题。
下面是一段用VC++6.0写的打开并播放一个音频文件的代码,我在运行的时候就会出现CPU使用率100%的情况,我检查过没有死循环的地方。现在我把它粘贴在下面,希望大家能给点儿意见:
#include "stdafx.h"
#include <windows.h>
#include <windowsx.h>
#include "resource.h"
#include "MainDlg.h"
#include <commdlg.h>
#include <mmsystem.h>
#pragma comment(lib,"Winmm.lib")

BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch(uMsg)
{
HANDLE_MSG(hWnd, WM_INITDIALOG, Main_OnInitDialog);
HANDLE_MSG(hWnd, WM_COMMAND, Main_OnCommand);
HANDLE_MSG(hWnd,WM_CLOSE, Main_OnClose);
}

return FALSE;
}

BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam)
{
return TRUE;
}

void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
{
switch(id)
{
case IDC_OPEN:
{
OPENFILENAME ofn;
char szFile[MAX_PATH];
ZeroMemory(&ofn,sizeof(ofn));
ofn.lStructSize = sizeof(ofn);
ofn.lpstrFile = szFile;
ofn.lpstrFile[0] = TEXT('\0');
ofn.nMaxFile = sizeof(szFile);
ofn.lpstrFilter = TEXT("所有文件\0*.*\0音频文件\0*.MP3;wma\0");
ofn.nFilterIndex = 1;
ofn.lpstrFileTitle = NULL;
ofn.nMaxFileTitle = 0;
ofn.lpstrInitialDir = NULL;
ofn.hwndOwner = hwnd;
ofn.Flags = OFN_EXPLORER |OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
if (GetOpenFileName(&ofn))
{
TCHAR shortPath[MAX_PATH];
GetShortPathName(szFile,shortPath,sizeof(shortPath));
TCHAR cmd[MAX_PATH+16];
wsprintf(cmd,"play %s",shortPath);
mciSendString(cmd,"",0,NULL);

}
}
break;
default:
break;
}
}

void Main_OnClose(HWND hwnd)
{
EndDialog(hwnd, 0);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式