QT应用程序跨平台移植技术的研究与应用文献综述
2020-04-14 17:22:08
现如今,互联网技术发展日新月异,其下衍生出了各种不同的系统,我们日常生活中最常见的系统有Windows、MacOS、Linix、Android、iOS等,大到最常用的Windows,小到一块单片机上的系统,都离不开软件的辅助,然而种类繁多的操作系统也衍生出了一系列的问题,而现如今有一个问题随着时间的推移已经到了不得不解决的地步——应用程序的跨平台移植。我们都知道在过去的十几年中,涌现出了许多风靡一时的应用软件,在那个年代,它们被认作是最方便最好用的软件,但是随着时间的推移,随着操作系统的不断增多,用于原先开发的软件是基于某个特定的操作系统,然而随着越来越多可选择的操作系统涌现的时候,其限制性也变得越来越明显,然而其源代码中使用的大量操作系统API使得其难以在其它平台得到应用,对源代码进行重写需要付出的成本更是让开发者们苦恼不已,所i以研究使应用程序跨平台移植的技术就显得尤为重要,特别是在Qt这款软件发布以后,开发者们仿佛体会到了柳暗花明又一村的感觉。
Qt作为一款GUI开发软件,具有良好的跨平台性,其可以在不同操作系统下开发适用于不同操作系统的应用程序,甚至可以开发同时适用于多个操作系统的应用程序,至今基本已经实现了对主流电脑操作系统及手机操作系统的支持,与其它通过大量在源代码上花费苦心想要使其拥有良好移植性的操作不同,其操作简单易行,其代码大量使用C 语言,当然,你也可以使用其它语言进行编程,但就目前来看,C 是最适合进行跨平台开发的语言,由此我们想到了对Qt程序的功能进行扩展,不仅仅是使用其开发跨平台软件,甚至是讨论其跨平台移植技术的可行性,将一款已经投入使用的应用程序,在不大量改写其源代码的情况下,将其移植到另一个平台中运行,而此次的毕业设计就是对Qt应用程序跨平台移植技术的研究与应用,当下大多数对Qt应用程序跨平台移植的研究都是基于Linux与Windows之间的移植,而我们这一次要研究的则是Windows到Android平台之间的移植,这在先前是很少有人研究的,别是在当下Windows和Android平台用户量极其庞大的情况下,一旦研究成功,其意义也显得尤为重要。
{title}2. 研究的基本内容与方案
{title}此次研究的基本内容是对Qt应用程序跨平台移植技术的研究与应用,大概可以分为两部分,第一部分是对Qt程序编程技术的掌控,由于此次研究Qt大部分使用的都是C 语言,而本人在之前对C语言有过系统性学习,所以这一部分相对简单;第二部分即在熟悉的基础上使得基于某个操作平台的应用程序在另一个操作平台中得以运行,在此期间起到最重要作用的就是Qt,而在此次研究中,我们希望能够对这种面向Windows和Android的跨平台移植技术给出一个技巧性的总结,以期能够为后来进行Qt应用程序跨平台移植的人提供便利。
这次研究的目标是在熟悉Qt程序编程技术以后,能将一段现有的基于Windows环境开发且可运行的源代码经过改写以后可以在Android环境中运行,虽然并没有直接将该应用软件在Android环境下运行,但是源代码的成功运行基本标示着移植的成功。
由于大部分不能跨平台运行的应用程序都是因为其源代码中含有大量的原系统API,拟采用的技术方案是在Qt中同时调用Windows和Android的库文件,然后对源文件中的库代码进行修改,使其同时能够在Windows和Android调用该库文件。
3. 参考文献
[1] 李凯.Android操作系统分析与移植[D].广州: 华南理工大学,2011:37.
[2] 杨程,黄俊伟,周骏扬,杨倩.基于QT的Android日志系统跨平台移植方案设计与实现[J].山西电子技术,2013,6: 57-59.
[3] 软件移植测试过程中的探讨[J]. 龚亚东,叶勇,张辉. 现代计算机. 2005(12)
[4] MigratingLegacy Systems: Gateways, Interfaces and the Incremental Approach. BrodieM,Stonebraker M. . 1995