Jerasure 杂谈(四)

新的一天又来了,昨天取得的进展不多也不少吧,新开一个,免得太长了,接着杂谈(三),继续弄

昨晚调试的时候好像encoder基本ok了,但是明显有些很邪乎的问题,可能是内存的声明和释放不当吧,C++强大和脆弱的地方便在次,额…昨晚debug的时候发现一步步来调试没问题的,然后结束了之后,删除所有的文件重新来一次,是从头跑一次而不是一步步调,然后中途除了内存报错不说吧,生成的第一个数据块很神奇地删不掉的…吓尿了…好吧,windows有个很强大的功能就是,重启,反正重启了一次之后就可以删除了,现在看看什么问题吧……

 

我先看看文件的打开和写入这些环节,收集下fopen的很重要的一些参数说明:

参照fopen的参数说明:
文件使用方式      意 义
“rt”      只读打开一个文本文件,只允许读数据
“wt”      只写打开或建立一个文本文件,只允许写数据
“at”      追加打开一个文本文件,并在文件末尾写数据
“rb”      只读打开一个二进制文件,只允许读数据
“wb”       只写打开或建立一个二进制文件,只允许写数据
“ab”       追加打开一个二进制文件,并在文件末尾写数据
“rt+”      读写打开一个文本文件,允许读和写
“wt+”      读写打开或建立一个文本文件,允许读写
“at+”     读写打开一个文本文件,允许读,或在文件末追加数据
“rb+”      读写打开一个二进制文件,允许读和写
“wb+”      读写打开或建立一个二进制文件,允许读和写
“ab+”      读写打开一个二进制文件,允许读,或在文件末追加数据

主要要注意的就是加不加b,加不加+的区别了。

好吧,今天重启了一下之后,貌似就很正常了,把encoder完整跑了一次,我把那个测试的小白鼠文件放到跟源代码一个目录下了,test.mkv,额可是最喜欢的美剧之一《White Collars》最新一集的重命名来的啊,麻烦对它温柔的,也推荐这部美剧,是我自己很喜欢的类型,优雅的罪犯,con man in NYC,很好看。

下面就是完成后的截图,我的参数是

    /* Inside Initialization */
    argc = 8;
    argv = new char* [8];
    argv[0] = "encoder";
    argv[1] = "I://Microsoft Visual Studio 2010//Workspace//j_lib_test//j_lib_test//test.mkv";
    argv[2] = "6";
    argv[3] = "2";
    argv[4] = "reed_sol_van";
    argv[5] = "8";
    argv[6] = "1024";
    argv[7] = "50000";
    /* Initialization Done */

分成了6+2个东西,然后它还生成个metafile,用于修复吧,呵呵,在想修复的时候这个文件没了它怎么搞呢?

 

 

 

最后的结果是:Encoding<MB/sec>: 182.6463881154  ,   En_Total<MB/sec>:3.5409113209

 

呼呼~终于算是搞定了一个重要的环节了,为了庆祝下,我就新开一篇杂谈来谈谈怎么搞decoder吧,不过有了encoder的经验,应该也很快了

posted @ 2013-11-06 09:06  Allen_Tung  阅读(441)  评论(0)    收藏  举报