当前位置:首页 > 嵌入式 > 嵌入式微处理器
[导读]来源 :华为开发者社区 从今天起,我们将围绕:将软件从x86Linux平台移植到鲲鹏Linux平台的移植指导,以及移植过程中遇到的相关问题处理方法,包括编译环境准备、编译脚本和源码修改等内容,为开发者带来一系列文章。 特别推荐给执行软件移植的研发工程师和技


来源 :华为开发者社区


从今天起,我们将围绕:将软件从x86Linux平台移植到鲲鹏Linux平台的移植指导,以及移植过程中遇到的相关问题处理方法,包括编译环境准备、编译脚本和源码修改等内容,为开发者带来一系列文章。


特别推荐给执行软件移植的研发工程师和技术支持工程师阅读参考!也欢迎开发者们在评论区留言交流~


按照翻译方式的不同,高级语言通常可以分为两类:一类是 编译翻译 ,一类是 解释翻译 ,分别对应着编译型语言和解释型语言。

1.编译型语言



典型的如C、C++语言,都属于编译型语言,源代码到执行的过程概括如下图所示。C/C++编译好的程序是机器指令,由操作系统加载到存储器(一般为内存)后由CPU直接执行。

编译型语言执行过程

2.解释型语言



典型的如Java、Python语言,都属于解释型语言,源代码到执行的过程概括如下图所示。Java/Python编译好的程序是平台无关的字节码,由虚拟机解释执行,虚拟机完成平台差异的屏蔽。
 

解释型语言执行过程


3.基于编译型语言开发的应用程序



基于编译型语言开发的应用程序,例如C/C++语言应用程序,其编译后得到可执行程序,可执行程序执行时依赖的指令是CPU架构相关的。因此,基于x86架构编译的C/C++语言应用程序,无法直接在鲲鹏服务器运行,需要进行移植编译,移植编译过程中遇到的问题,我们将在以后的文章中提供详细的解决方法。


4.基于解释型语言开发的应用程序



基于解释型语言开发的应用程序,是CPU架构不相关的,例如Java、Python,将这类应用程序移植到鲲鹏服务器,无需修改和重新编译,按照与x86一致的方式部署和运行应用程序即可。Java应用程序jar包内,可能包含基于C/C++语言开发的so库文件,这类so库需要移植编译,移植编译so库遇到的问题可以参考本系列下一篇文章提供的方法解决,使用编译得到的so库重新打包jar包。

拓展阅读

 
C/C++程序移植需要安装编译器,推荐使用gcc7.3及以上版本(最低不低于4.8.5),下载安装参考链接:
gcc7.3版本下载地址:
http://ftp.gnu.org/gnu/gcc/gcc-7.3.0/
安装步骤参考:
https://gcc.gnu.org/install/

-END-




推荐阅读



【01】TIOBE 8 月编程语言:C、Java 差距拉大,R 语言盛行
【02】GitHub数据告诉你:最幸福的码农在用什么编程语言
【03】17条嵌入式C语言编程小知识总结
【04】C语言/C++基本语句编程风格
【05】C语言编程:九种必会查找算法(附完整代码


免责声明:整理文章为传播相关技术,版权归原作者所有,如有侵权,请联系删除

免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

嵌入式ARM

扫描二维码,关注更多精彩内容

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭