vc6下x264设置工作目录和程序参数(初级,高手绕道)调试更方便
这几天在看源码里以前漏下的细节,因为要不断的插入printf语句打印一些变量,每插一句,就得编译,然后把x264.exe拷到d盘,再从开始菜单输入cmd,然后切换到d:,然后复制上存在记事本里的命令,打开好几个文件夹不说,还很是麻烦。
因为每次编译后,点运行按钮老是提示个什么,因为是外行,所以一直没想到怎么办,现在想起来,以前在在群里问过,当时也改对过,但是没实际起过什么作用,所以渐渐淡忘了,今天突然想起这个功能来,试着改了几次,没想到弄对了,以后调试更方便了。
目标:方便插入printf后运行程序查看效果。
说明:
一般用的一条固定的x264命令:x264 --crf 22 -o test.264 hall_cif.yuv 352x288
在D盘下,一直保存着文件:test.264 hall_cif.yuv
效果:
每次在代码中,插入类似于“printf("h->fenc->i_type == X264_TYPE_IDR\n");”的语句,直接点build按钮编译,然后点运行按钮即可启动程序。
建议:
插入printf语句时,尽量采用如下样式:
prinft("\n(common.h\funciton x264_encoder_encode(...){ h->frames.i_last_idr=%d })",h->frames.i_last_idr);//运行效果为:0 20 40 60
字符串中加上位置,便于识别,因为在实际中,我有时候还得搜索,才能去掉。
后面把运行效果进行说明,因为我记性不好,有些没标注的,过两天又忘了运行时的输出了。
测试:
直接点运行按钮,然后在弹出的对话框中点确定
或者,先编译,然后点运行按钮
暂停:
在不停的输出中,最前面的信息会被顶出去,可拖住滚动条的hua块,程序就会暂停运行
在cmd中输入命令,点右键,在菜单里选标记,会暂停,现在不知道为什么,右键暂停不了啦。
两种暂停的实现:
system("pause");//暂停,任意键继续
//另一种暂停,用回车键继续
if (1)
{
int c;
while ((c = getchar()) != '\n')
{
printf("%c", c);
}
}
两种暂停,前面加了句printf("\n\n");
设置好工作路径和命令行参数
直接点运行,然后确定,即可编译并运行程序
实际运行效果