封装时碰到嵌入代码就闪退,是啥情况
原生VS代码,是正常的//#include <stdio.h>
#include <iostream>
using namespace std;
#include "miniaudio.h"
#include "miniaudio.c"
int main()
{
ma_result result;
ma_engine engine;
result = ma_engine_init(NULL, &engine);
if (result != MA_SUCCESS) {
return -1;
}
int a=0;
a=ma_engine_play_sound(&engine, "H:\\mfc\\cangjietestvs\\audio\\miniaudio\\miniaudio\\imp\\sound.wav", NULL);
cout << a << endl;
getchar();
ma_engine_uninit(&engine);
return 0;
}火山嵌入的代码
<火山程序 类型 = "通常" 版本 = 1 />
包 火山.程序 <@视窗.头文件搜寻目录 = "lib\\include" @视窗.外部头文件 = "miniaudio.h" @视窗.外部源文件 = "lib\\include\\miniaudio.c">
类 启动类 <公开 基础类 = 程序类>
{
方法 启动方法 <公开 类型 = 整数>
{
// 在此处填入自己的代码
@ ma_result result;
@ ma_engine engine;
@
@ result = ma_engine_init(NULL, &engine);
@ if (result != MA_SUCCESS) {
@ return -1;
@ }
@ int a=0;
@ a=ma_engine_play_sound(&engine, "H:\\mfc\\cangjietestvs\\audio\\miniaudio\\miniaudio\\imp\\sound.wav", NULL);
@ getchar();
@ ma_engine_uninit(&engine);
标准输入 ()
返回 (1)
}
#
}
调试结果
--- 开始调试当前项目"测试音频"编译后的结果文件"H:\火山视窗\学习视窗封装\_int\测试音频\debug\x64\linker\测试音频.exe"
正在启动被调试程序
被调试程序已经退出,退出码为0xC0000005.
调试已经停止
把火山生成的C++转VS之后
//20475行代码
static MA_INLINE HRESULT ma_IMMDeviceEnumerator_GetDefaultAudioEndpoint(ma_IMMDeviceEnumerator* pThis, ma_EDataFlow dataFlow, ma_ERole role, ma_IMMDevice** ppEndpoint) { return pThis->lpVtbl->GetDefaultAudioEndpoint(pThis, dataFlow, role, ppEndpoint); }
页:
[1]