社区
C++ 语言
帖子详情
windows系统的waveoutopen有内存泄漏?
anstern
2011-04-27 06:35:56
直接调用windows系统的API函数,先运行waveoutopen,再运行waveoutclose,参数没有传错,但用任务管理器观看后,发现多产生30多个句柄,导致内存泄漏,请问大家怎么回事?
...全文
126
5
打赏
收藏
windows系统的waveoutopen有内存泄漏?
直接调用windows系统的API函数,先运行waveoutopen,再运行waveoutclose,参数没有传错,但用任务管理器观看后,发现多产生30多个句柄,导致内存泄漏,请问大家怎么回事?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
taodm
2011-04-28
打赏
举报
回复
你确定循环1万次就多了30万个句柄?别随便相信资源管理器。
anstern
2011-04-28
打赏
举报
回复
简单写了一段代码,还是有泄漏,请大家帮忙分析一下原因?
// TODO: Add your control notification handler code here
HWAVEOUT hWaveOut=NULL;
WAVEOUTCAPS pwoc;
int wChannels = 1;
int dwSamplesPerSec = 8000;
int dwBitsPerSample = 16;
WAVEFORMATEX lpFormat;
lpFormat.cbSize = sizeof(WAVEFORMATEX);
lpFormat.nChannels = wChannels;
lpFormat.wBitsPerSample = dwBitsPerSample;
lpFormat.nBlockAlign = wChannels*dwBitsPerSample/8;
lpFormat.nSamplesPerSec = dwSamplesPerSec;
lpFormat.wFormatTag = WAVE_FORMAT_PCM;
lpFormat.nAvgBytesPerSec = lpFormat.nBlockAlign*dwSamplesPerSec;
BOOL bRes;
bRes=waveOutOpen(&hWaveOut, WAVE_MAPPER, &lpFormat, NULL, NULL, CALLBACK_NULL);
bRes=waveOutReset((HWAVEOUT)hWaveOut);
bRes = waveOutClose((HWAVEOUT)hWaveOut);
anstern
2011-04-28
打赏
举报
回复
资源管理器都不能相信,相信谁呢?
「已注销」
2011-04-27
打赏
举报
回复
Remarks
If the device is still playing a waveform-audio file, the close operation fails.
Use the waveOutReset function to terminate playback before calling waveOutClose.
或者说,你确定关闭成功了吗?
「已注销」
2011-04-27
打赏
举报
回复
首先,多产生句柄不叫内存泄露,叫资源泄露。
你确定waveoutclose后,还是没有降下来么?
从零实现AVI播放器:Visual C++与
Windows
多媒体编程实战
视频播放器是现代计算机处理多媒体内容的核心组件,其基本原理涉及文件解析、数据解码、帧渲染和时序同步等多个技术环节。在
Windows
平台上,
系统
提供了丰富的底层多媒体API,如AVIFile API和GDI绘图接口,使开发者能够深入理解音视频数据的处理流程。通过直接操作这些API,可以掌握视频容器格式(如AVI)的结构解析、帧率控制、音画同步等关键技术,这对于从事音视频编解码、流媒体处理或游戏引擎开发的工程师具有重要实践价值。本文以构建一个简易AVI播放器为例,详细介绍了如何使用Visual C++和Wind
Windows
7兼容性机制YiDiscovery深度解析与实战指南
Windows
兼容性机制是保障老旧应用程序在新
系统
中稳定运行的基础技术,其核心原理涉及用户态钩子、Manifest动态注入、API重定向与沙盒化路径映射等关键技术。这类机制不仅承载着向后兼容的工程价值,更体现了操作
系统
安全演进过程中‘最小干预’的设计哲学。在
Windows
7中,Application Compatibility Assistant背后的YiDiscovery引擎正是这一理念的典型实现——它不修改内核、不注入驱动,却通过静默诊断与上下文感知持续优化运行环境。该机制广泛应用于工业控制、医疗设备
C++集成讯飞离线语音SDK实战:从环境配置到多线程优化
语音识别与合成是人机交互的核心技术之一,其原理是将声音信号转化为文本(识别)或将文本转化为声音(合成)。在工程实践中,离线语音方案因其低延迟、高稳定性及无网络依赖的特点,在工业控制、嵌入式设备和桌面应用中具有重要价值。本文聚焦于C++环境下集成科大讯飞离线语音SDK的完整流程,涵盖SDK初始化、音频采集、参数调优及多线程安全等关键环节。通过解析热词配置与端点检测(VAD)等核心机制,帮助开发者构建稳定高效的本地语音交互模块,适用于智能客户端、车载设备等对实时性要求苛刻的场景。
碰一碰获客源码分享免费资源
详情请查看:安装点击我
C语言循环练习文件 -下载即用.zip
代码转载自:https://pan.quark.cn/s/a4b39357ea24 C-language ========== C语言练习代码
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章