看程序源码由于无法单步调试,只能自己手动跟代码,经常会参瞌睡,然后回过神来前面都忘了。

Fanslater 2014-01-09 10:36:18
我是个刚入职的C/C++程序员,进了一个公司,但是最近在做一个考核,具体不多说,主要我现在在看一个静态库模块,具体如下:
http://software.intel.com/en-us/articles/code-samples-for-intel-integrated-performance-primitives-intel-ipp-library-70
intel官方出的基于ipp库的uic模块代码,由于无法单步调试,智能自己手动跟代码,很辛苦,很累,而且经常会看着看着参瞌睡,然后回过神来前面都忘了,得重头开始看!这怎么破?
...全文
300 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
ANT2AUNTH 2014-01-16
  • 打赏
  • 举报
回复
断点啊……而且应该可以设置单元测试吧。
群人天 2014-01-16
  • 打赏
  • 举报
回复
加设断点调试啊
chybeyond 2014-01-16
  • 打赏
  • 举报
回复
头悬梁,锥刺股
大奶兔白糖 2014-01-14
  • 打赏
  • 举报
回复
引用 17 楼 zhoufanss 的回复:
[quote=引用 16 楼 bijiaoben 的回复:] [quote=引用 10 楼 zhoufanss 的回复:] [quote=引用 5 楼 zhao4zhong1 的回复:] 会设断点吗?
是这样的,sample分3个部分 1是IPP静态库(只有LIB文件 无源码) 2是UIC的图像模块(基于IPP的库的,有源码)3是一个应用例子uic_transcoder用于各种图像的转码(基于UIC模块的 有源码 但是调试不成功) 单独的UIC是可以调试通过的但是由于自身是个被调用者 需要通过sample中的应用例子去使用,但应用我调试了半天都无法通过,智能自己手动去找入口 然后依次看下去 可是这样看 头都昏了 不能设置断点单步调试 值传递也没有标识,所以一是看不懂二是容易困 所以想问问 基于这个状况怎么才能弄懂 图像解码编码 或者说转码 到底是怎么实现的呢? [/quote] 也就是说从Intel官方网站下载的IPP的sample都是没问题的,但是你在自己的程序中调用IPP的接口完成自己需要的功能的时候出了问题,是不是这样?[/quote] 是的 但是intel的例子里面 基本没有注释的 哪怕是头文件也是 所以不好搞懂啊[/quote] IPP的库我以前也用过,貌似是有文档的吧?
Fanslater 2014-01-14
  • 打赏
  • 举报
回复
引用 15 楼 zhao4zhong1 的回复:
建议楼主转去看Image Magick开源图像处理项目。
这个里面有包含 jpegxr 的图像处理源码么? .jxr .wdp .hdp后缀的
Fanslater 2014-01-14
  • 打赏
  • 举报
回复
引用 13 楼 jha334201553 的回复:
先看头文件,一般写的比较好的代码头文件函数定义名称是比较清晰的,有的也会有注释说函数是干嘛的。 第一步你先别去看函数是怎么实现的,否则你看一个月也看不明白的。 先走总流程,流程弄懂了以后再去细分函数,分析每个函数是怎么实现的,看一部分以后你懂得很多程序里面的结构了,这时候你可以在看其他函数名称的时候想想如果是你写的时候你会怎么去写,然后再参考作者的代码,这时候不仅你了解项目非常快,而且你对自己的编程水平也提高很快的。 如果是乱七八糟的代码风格,只要看函数是干嘛就好了,自己打个草稿什么的(新人一般不让自己修改代码上传到svn),无需细看内部,那代码基本没法看的。一般我是直接略过。
正因为下载这个sample里面是基本纯代码,注释少的可以忽略,头文件 基本是没有注释的 阅读起来非常之难懂。就因为这样,所以才...
Fanslater 2014-01-14
  • 打赏
  • 举报
回复
引用 16 楼 bijiaoben 的回复:
[quote=引用 10 楼 zhoufanss 的回复:] [quote=引用 5 楼 zhao4zhong1 的回复:] 会设断点吗?
是这样的,sample分3个部分 1是IPP静态库(只有LIB文件 无源码) 2是UIC的图像模块(基于IPP的库的,有源码)3是一个应用例子uic_transcoder用于各种图像的转码(基于UIC模块的 有源码 但是调试不成功) 单独的UIC是可以调试通过的但是由于自身是个被调用者 需要通过sample中的应用例子去使用,但应用我调试了半天都无法通过,智能自己手动去找入口 然后依次看下去 可是这样看 头都昏了 不能设置断点单步调试 值传递也没有标识,所以一是看不懂二是容易困 所以想问问 基于这个状况怎么才能弄懂 图像解码编码 或者说转码 到底是怎么实现的呢? [/quote] 也就是说从Intel官方网站下载的IPP的sample都是没问题的,但是你在自己的程序中调用IPP的接口完成自己需要的功能的时候出了问题,是不是这样?[/quote] 是的 但是intel的例子里面 基本没有注释的 哪怕是头文件也是 所以不好搞懂啊
ForestDB 2014-01-14
  • 打赏
  • 举报
回复
喝点咖啡。。
笨蛋糕 2014-01-14
  • 打赏
  • 举报
回复
不能借助专门的调试工具吗
大奶兔白糖 2014-01-14
  • 打赏
  • 举报
回复
兄弟,我看的时候是05、06年的样子了,这么久了,当时我看的是JPEG解码部分的接口,不过好像文档里面有对接口及使用进行描述。不过后面就没有用了,因为这个库要买,你懂的。。 好好看看文档,也许是对接口的理解有误,比如接口的功能,或者输入输出数据的格式等等,都有可能对使用造成各种不可预期的结果。或者拉上你的同事针对你使用的接口讨论一下,头脑风暴嘛
Fanslater 2014-01-14
  • 打赏
  • 举报
回复
引用 20 楼 bijiaoben 的回复:
[quote=引用 17 楼 zhoufanss 的回复:] [quote=引用 16 楼 bijiaoben 的回复:] [quote=引用 10 楼 zhoufanss 的回复:] [quote=引用 5 楼 zhao4zhong1 的回复:] 会设断点吗?
是这样的,sample分3个部分 1是IPP静态库(只有LIB文件 无源码) 2是UIC的图像模块(基于IPP的库的,有源码)3是一个应用例子uic_transcoder用于各种图像的转码(基于UIC模块的 有源码 但是调试不成功) 单独的UIC是可以调试通过的但是由于自身是个被调用者 需要通过sample中的应用例子去使用,但应用我调试了半天都无法通过,智能自己手动去找入口 然后依次看下去 可是这样看 头都昏了 不能设置断点单步调试 值传递也没有标识,所以一是看不懂二是容易困 所以想问问 基于这个状况怎么才能弄懂 图像解码编码 或者说转码 到底是怎么实现的呢? [/quote] 也就是说从Intel官方网站下载的IPP的sample都是没问题的,但是你在自己的程序中调用IPP的接口完成自己需要的功能的时候出了问题,是不是这样?[/quote] 是的 但是intel的例子里面 基本没有注释的 哪怕是头文件也是 所以不好搞懂啊[/quote] IPP的库我以前也用过,貌似是有文档的吧?[/quote] 啊!前辈~ 您说的文档是ippiman手册么? 您当初也有看intel官网给的uic的sample么?可不可以指点一下?
大奶兔白糖 2014-01-13
  • 打赏
  • 举报
回复
引用 10 楼 zhoufanss 的回复:
[quote=引用 5 楼 zhao4zhong1 的回复:] 会设断点吗?
是这样的,sample分3个部分 1是IPP静态库(只有LIB文件 无源码) 2是UIC的图像模块(基于IPP的库的,有源码)3是一个应用例子uic_transcoder用于各种图像的转码(基于UIC模块的 有源码 但是调试不成功) 单独的UIC是可以调试通过的但是由于自身是个被调用者 需要通过sample中的应用例子去使用,但应用我调试了半天都无法通过,智能自己手动去找入口 然后依次看下去 可是这样看 头都昏了 不能设置断点单步调试 值传递也没有标识,所以一是看不懂二是容易困 所以想问问 基于这个状况怎么才能弄懂 图像解码编码 或者说转码 到底是怎么实现的呢? [/quote] 也就是说从Intel官方网站下载的IPP的sample都是没问题的,但是你在自己的程序中调用IPP的接口完成自己需要的功能的时候出了问题,是不是这样?
赵4老师 2014-01-13
  • 打赏
  • 举报
回复
建议楼主转去看Image Magick开源图像处理项目。
lm_whales 2014-01-10
  • 打赏
  • 举报
回复
感觉有问题的,写记录吧。
mujiok2003 2014-01-10
  • 打赏
  • 举报
回复
有文档, 有例子的呀。
FancyMouse 2014-01-10
  • 打赏
  • 举报
回复
看代码都会瞌睡。不是睡眠不足就是不适合这行当。
justhzd 2014-01-10
  • 打赏
  • 举报
回复
不懂这个,不过不能复制出来自己开一个解决方案去调试吗?。。。
「已注销」 2014-01-10
  • 打赏
  • 举报
回复
具体看函数的时候不用一个函数一个函数看,你可以看主流程,然后流程里面调用了什么函数,再用win搜索功能搜索下这个函数在哪实现的,再另外开一个编辑器什么的两外阅读,这样阅读完了容易反会原来的代码继续阅读,这点 Source Insight 做得挺好的,但是选择一个变量以后不会将这个变量所有用到的地方都高亮,这点我非常不习惯,还是 vsx 插件看内部函数比较清晰
「已注销」 2014-01-10
  • 打赏
  • 举报
回复
先看头文件,一般写的比较好的代码头文件函数定义名称是比较清晰的,有的也会有注释说函数是干嘛的。 第一步你先别去看函数是怎么实现的,否则你看一个月也看不明白的。 先走总流程,流程弄懂了以后再去细分函数,分析每个函数是怎么实现的,看一部分以后你懂得很多程序里面的结构了,这时候你可以在看其他函数名称的时候想想如果是你写的时候你会怎么去写,然后再参考作者的代码,这时候不仅你了解项目非常快,而且你对自己的编程水平也提高很快的。 如果是乱七八糟的代码风格,只要看函数是干嘛就好了,自己打个草稿什么的(新人一般不让自己修改代码上传到svn),无需细看内部,那代码基本没法看的。一般我是直接略过。
Fanslater 2014-01-10
  • 打赏
  • 举报
回复
引用 7 楼 FancyMouse 的回复:
看代码都会瞌睡。不是睡眠不足就是不适合这行当。
是这样的,sample分3个部分 1是IPP静态库(只有LIB文件 无源码) 2是UIC的图像模块(基于IPP的库的,有源码)3是一个应用例子uic_transcoder用于各种图像的转码(基于UIC模块的 有源码 但是调试不成功) 单独的UIC是可以调试通过的但是由于自身是个被调用者 需要通过sample中的应用例子去使用,但应用我调试了半天都无法通过,智能自己手动去找入口 然后依次看下去 可是这样看 头都昏了 不能设置断点单步调试 值传递也没有标识,所以一是看不懂二是容易困 所以想问问 基于这个状况怎么才能弄懂 图像解码编码 或者说转码 到底是怎么实现的呢?
加载更多回复(7)

64,653

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧