移植代码

  移植人脸识别检测SDK的事情终于有眉目了。明天开始集成测试。

  先把算法从VC6.0升级到7.1,尽量符合C++ ISO/98标准语法;然后去掉MFC编译头,自己实现必要的类;接着移植到Eclipse + CDT + CygWin环境下;最后才移植到Linux下 (还是用Eclipse + CDT 编辑)。

  最初的检测部分算法依赖OpenCV。移植到最后一步,安装linux版OpenCV编译通过,可CppUnit单元测试总是红色。一步步检查回去,才发现原文大量修改了Windows版OpenCV库本身的代码。原作者修改时没有标记和注释原因,虽然仅过了半年,他已经记不清到底干了些什么,最终只好从头移植另一种检测算法。

  大量类似问题都是不良风格造成的。不考虑代码会给其他人使用,不预计以后升级移植时怎么修改,写不出好气味的代码。

  Eclipse + CDT 帮了大忙,无论是J2EE还是C++,Windows还是Linux,我已经离不开这个工具了。CppUnit在VC6.0、VC7.0和gcc下工作都很出色。红旗4.1扭转了我的恶劣印象,虽然还是更喜欢Magic。

  技术上自信的原因之一,就是比较擅长阅读别人的代码。这的确是件苦差事,但能锻炼能力。

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.