栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

编译并使用APE官方解码包

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

编译并使用APE官方解码包

还是APE官方解码包。他们的源码包特别恶心,C++写的类库,编译版本不对报错,编译器不一样报错,编译器没错,但不知道他们源码历史,也有可能通不过,而且他们的源码一定是最新版的编译器编的,所以为了编译他们的文件,刚推出VS2019,VS2022就得下。好在这个源码包相对还是很好编译的。

他们的解码程序也很怪,解码包里有两个示例,一个在CONSLE文件夹里,一个在SAMPLE文件夹,SAMPLE是导出DLL中的函数来解码,这个我不大会,只不过照抄下来很容易通过,解码出来的是数据块,就是wav去掉文件头后的PCM编码部分。console的示例程序倒是可以直接导出WAV文件。但是照抄用CONSLE的程序实在太麻烦了。

首先,CONSLE文件夹里的程序引用的MACLIB库的源码工程。你单纯引用他们的头文件和MACLIB,不好意思,好多函数根本就用不了,会报错,LNK2001之类。

我的方法是,头文件照常引用,包含目录用SOURCEMACLIB,然后把MACLIB文件夹下的CPP都拷到工程所在目录。然后全部添加到工程中,最后提示什么.obj已经定义之类,移除掉circleBuffer.cpp之后,问题解决,剩下的就是修改源代码了,很恶心的是,源码中的回调函数原型不能修改,由于源码是在命令行界面下运行的,所以回调的进程就没办法显示。看以后能不能学点东西,是不是可以解决这个问题。

我测了下这两种方式解压同一文件的速度,DLL 导出函数的SAMPLE用时52秒,console用了65秒。不知道同样的一个源码包,解压程序的速度为什么差这么多,事实上console的程序更长,好像更完整。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/297133.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号