- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于C语言跨平台软件开发设计
基于C++语言跨平台软件开发设计
摘 要 在如今的计算机语言里面,使用频率和次数比较多的是C++语言,因为它具有比较高的编程速度,不仅这样它还有一些独特的地方。但是,通过一些实际的编程过程,我们可以知道C++语言还是存在一些缺陷的,它会给一些跨平台软件的开发带来很大的困难。经过大量的软件编程实践,文章简介了跨平台的概念、开发环境和开发设计的思路。关键词 C++;跨平台软件
中图分类号:TP317 文献标识码:A 文章编号:1671-7597(2014)04-0019-01
使用C++语言进行跨平台的开发,目的是把应用程序的代码处理成能够在已有的平台下使用和能执行文件。但是在其他平台中,处理后的文件不可以被使用,特别在Windows与Unix平台下更不能使用。所以,要解决和处理这个缺陷,就要将源程序的代码翻译成在各个平台下都能使用的文件。通过几十年的发展和演变,C++语言基本上能够在所有的平台下进行工作,但是在不同平台下的编译也会不同,也造成了语言之间的不同。同样的,设计一个新产品就要对操作系统的函数进行使用和调用。因此,要避免这种区别就要在代码中使用条件选择编译、进行工程模式编译或可以使用预编译。各种平台使用的程序编译手段也是不一样的。要使在不同平台下进行程序编译时出现最小的差别就要手动对编译条件的设置控制或管理。使用脚本文件和环境变量,还可以使用第三方软件对代码进行动态编译,这样就能使跨平台开发的难度简化。
1 跨平台的概念
在软件开发中有个很重要的概念就是跨平台,跨平台和操作系统无关也与硬件环境不相关联。如果一个应用程序是在操作系统下开发和设计的,那把它放在其他操作系统中也能使用。随着软件工程的发展对跨平台开发的需求也在不断的增加,所以要开发出能够在各种各样的平台下都能使用的应用程序,就能为应用程序创造很大的市场份额。
2 跨平台的开发所需要的环境
软件编辑器、程序编译器和程序调试器是构成开发环境的三个组成部分。Sandbox是进行代码编译和调试的软件,其内部含有各种平台下需要的不同种类的依赖库和代码库。在程序的开发中它还含有各种源代码。它的配置对多元化的平台的要求也是很高的,通常讲,C/C++语言的软件开发和编译要在各个平台上能够使用,还要注意以下问题。
1)最终结果的质量:Sandbox中所选择的工具是否能够产生最好的代码。是否能够产生最简洁,最友好的配置文件以及在捕捉错误和调试时是否能够提供足够的支持。
2)Sandbox中含有的工具是否可以使应用程序与多元性的目标平台进行合理的整合。
3)创立的Sandbox是不是可以使管理更加的简单,即能否在不同的平台进行变换时出现最小差异的文件。
对跨平台开发来说实现抽象是很重要的一个因素,但是利用与平台相关的工具包也需要使用相适应的工具。这些开发工具往往并不是统一的,比如Linux上流行的GCC在Windows下的使用并不如VisualStudio.nct中的C++。要达到这个目的,就要把用抽象以及相关的设计使用新的开发手段进行开发,实现在不同的平台下都能进行编译。
3 C++语言的跨平台软件开发的设计
3.1 避免语言的扩展特性
不管我们依据哪一种形式的方法进行编程,一般要选择比较老的程序库或文件。比较老的程序库里面的一些原有程序和公式都是很规范的和标准的,不像现在的一些新的程序库一样比较的杂乱无章。有非常普遍出现的故障在跨平台上产生,有时在获得支持后,还是会出现没有定义精确的事故。跨平台开发是对异常灵敏度要求很高的,无限度的利用新特性,就会使软件很难排除异常情况。所以,在跨平台开发时要调用C++的标准函数模型,这样就会使已开发的软件和产品的稳定性更加强。
3.2 实现动态处理
在实际的开发过程中,每当编写一个旨在多种环境中运行的可移植代码库时,项目的开发就会不可避免的面临一个问题,即怎样处理在一个平台上有而在另外一个平台上没有的特性。
3.3 使用脚本文件进行管理
要达到使编写的程序代码简洁、易懂的目的,要使软件的结构更加的合理,这就要求先把与平台相关联的文件和数据库分割开来,再把在开发期间要用的脚本文件进行编译,再合理的分到各个部位。在使用应用程序时,要把配置文件里的配置选项调出来进行读取里面的程序。因此,当跨平台软件开发时,要使与平台相关联的文件全部进行分离,要利用特殊的手段来实现该功能。
3.4 使用安全的数据串行化
如何使用安全和可靠的对数据进行存储和加载是跨平台要解决的核心问题。利用软件的“fwrite”或“fread”指令可以对每个编译器和单一目标平台处理。若果是在跨平台的操作环境中,利用这种方法对数据进行存储和加载就不能做到平台间的独立性
文档评论(0)