课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
我们在上文中给大家简单介绍了软件迁移都有哪些步骤,而今天我们就再来了解一下,c++编程语言迁移都会遇到哪些问题。
C/C++作为编译型语言,由于架构、指令集、向量寄存器的差异,程序在从x86→鲲鹏处理器时,必须经过重新编译才能运行。
从代码工程的角度来看,C/C++的文件分为两类,一是编译构建的脚本,二是源码。其中:
1、编译构建脚本类文件在迁移过程中一般会涉及编译选项的移植,包括指定数据类型、生成代码特性、目标执行器架构、处理器硬件加速功能等。
2、源码文件的迁移,一般会涉及到编译宏的移植、编译器自带builtin函数移植、内联汇编移植、SSEintrinsic函数移植等。
先通过GitHub和三方开源社区获取相应的源码。其次安装gcc版本,准备编译环境。之后使用源码中的CMakeLists.txt或configure脚本生成makefile。随后执行makefile编译可执行程序,并替换依赖库。后,将可执行程序安装部署到生产或测试系统。
不过,C/C++代码在迁移中也会有诸多问题存在,具代表性的五类迁移问题如下:
1、编译脚本和编译选项的移植。不同的架构平台会有独特的编译选项支持硬件特性,与当前编译平台属性强相关这种带有架构属性的编译选项需要进行移植,这些编译选项一般以–m开头;
2、编译宏的移植。编译宏的作用是确定平台下需要执行哪个分支代码,一般分为x86自定义宏和用户自定义的宏。两类宏的编译移植方式各不相同;
3、builtin函数问题。builtin函数是编译器自定义的函数,有较好的性能,可以实现一些简单快捷的功能,根据相应需求进行使用优化,助力程序编写;
4、内联汇编移植,常用迁移方法有汇编指令方式替换以及builtin函数替换两种;
5、SSEintrinsic函数移植。一般在多媒体技术开发以及数学矩阵库中应用较多的SSEintrinsic函数移植较为复杂,为重难点。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。