python在一个项目的早期验证中有着很方便的应用,能够快速的验证想法的正确性,但是当部署到应用的时候,因其运行速度低,一般会转换为c++程序.博主自己经历了这个过程,在其中躺了一个小坑,坑我到了半夜才解决.

     首先给出转换代码的整个流程:

     1 将要转换的代码的逻辑理解清楚,想清楚后再开始行动

        当你将代码的逻辑思考清楚后,你在进行转换的过程中能够避免很多的错误,同时你能够根据逻辑进行合理的优化

 让代码变得更加的高效和优雅.

     2 分析两种语言需要用的库,做好转变的准备

        注意到两种不同的语言,使用的库可能是不同的,将一种语言的库在另一种语言中找到可以代替的,比如在python中numpy作为一个数据处理库,应用很广泛,但是c++里,你可能就需要使用EIGEN库了.

    3 当你做好前两者准备后,就可以进行代码的转换了.

    4 两种代码结果的测试

转换过程中可能出现的问题:

1 你要确定两种语言中的函数的含义一样,比如python中直接使用abs获取的是绝对值,不会产生进位,但是在c++中直接使用abs的的结果是整数值,需要使用fabs,这个是转换的一个小坑.

2 当最终结果不对的时候,可以设置关键点的输出,通过对比关键点的输出,来排除转换成功的模块,逐步找到问题的产生点.

3 在python中经常使用是dict,而在c++中可以使用map与其对应

4 numpy中经常使用块操作,对应于c++可以使用eigen或者数据遍历,后者的速度更快.

 

更多推荐

python c++程序的转换