下面的指针代码怎么写?
int i;LPVOID lpMapStartPos;
lpMapStartPos=0 i=1
lpMapStartPos=1024 i=2
lpMapStartPos=2048 i=3
lpMapStartPos=3072 i=4
i=1, 指针指向lpMapStartPos的0
CopyMemory(lpNewFilePos,lpMapStartPos,FileLen);
i=2, 指针指向lpMapStartPos的1024位置
i=3, 指针指向lpMapStartPos的2048位置
i=3, 指针指向lpMapStartPos的3072位置
是否可以在这个api里面CopyMemory(lpNewFilePos,lpMapStartPos,FileLen);
一行代码完成?
lpNewFilePos和FileLen呢? 本帖最后由 chaw899 于 2020-5-21 06:07 编辑
0xAA55 发表于 2020-5-21 04:43
lpNewFilePos和FileLen呢?
lpNewFilePos是LPVOID类型和FileLen是整型。
还有你的flac播放器有点小问题,当flac存在误
码的情况,会异常退出,而不是忽略错误继续播放。 看不太懂想表达的意思....没有前后文指针类型也不清楚,作用和目的难以判断
是想要根据输入的i来决定输出的指针地址么
如果是的话,那可以做个指针数组映射,xxx *ptr[] = {xxx1,xxx2,xxx3,xxx4}
ptr == xxx1这样
如果仅仅是为了美观尝试压缩多行代码为一行那大可不必
先把轮子整出来车子能跑了再考虑轮子圆不圆比较好 谢谢你告诉我造轮子的方法。 chaw899 发表于 2020-5-21 06:04
lpNewFilePos是LPVOID类型和FileLen是整型。
还有你的flac播放器有点小问题,当flac存在误
我重新问一遍:
lpNewFilePos和FileLen呢?
你要重复把4个不同的数据覆盖写入到同一个指针,并且长度也是同一个长度?在没有保证多线程安全的情况下,你这么做有什么意义?
此外,FLAC存在误码的时候,为什么还要继续播放?折磨用户的耳朵吗? 0xAA55 发表于 2020-5-22 03:41
我重新问一遍:
lpNewFilePos和FileLen呢?
对于第一个问题,是不是可以加上临界区或者信号量来协调工作?
第二个问题,我也是碰巧遇到的。我下的flac正好是有误码的。
然后就用你的播放器实验,结果退出了。
flac的少量误码是影响不会很大,因为flac是默认的分块是4k,进行预测编码的。
如果存在一个4k数据损坏,解码就是坏了4k的数据,其余解码是正确无误的。
flac和ape的优势之一就是它的容错性吧。
这是我对flac编码的理解。
我就是因为搜索flac编码找到这个坛子的,我们也算有缘分吧。 0xAA55 发表于 2020-5-22 03:41
我重新问一遍:
lpNewFilePos和FileLen呢?
坛主你javascript熟悉吗?我遇到了点问题,可以发上来吗? 0xAA55 发表于 2020-5-22 03:41
我重新问一遍:
lpNewFilePos和FileLen呢?
需要传送的数据的大小是15G,考虑到内存的因素,分段传送。
这些数据都是给机器学习用的。
本帖最后由 Ayala 于 2020-5-23 16:06 编辑
同机内存拷贝15g的数据 还是从文件拷贝到内存 还是从网络拷贝到内存
lpNewFilePos是否是连续的还是指针的数组
lpMapStartPos指像的内存是连续的还是指针的数组
根据你提供的信息代码可以这么写 LPVOID的指向并不明确 所以这么些并不一定正确
for (i = 0; i < FileLen / 1024 ; i++)
{
CopyMemory( (char*) lpNewFilePos + i * 1024 ,
(char*) lpMapStartPos + i * 1024 ,
1024
);
} 0xAA55 发表于 2020-5-22 03:41
我重新问一遍:
lpNewFilePos和FileLen呢?
出现误码块提示 然后跳过比较好 Ayala 发表于 2020-5-23 15:45
同机内存拷贝15g的数据 还是从文件拷贝到内存 还是从网络拷贝到内存
lpNewFilePos是否是连续的还是指针的数 ...
你竟然回答了他的一个不明所以的问题 0xAA55 发表于 2020-5-23 18:08
你竟然回答了他的一个不明所以的问题
闲的
页:
[1]