位置:丁香财经网 >> 比特币

可移植性[java通过什么保证可移植性]

2023年07月22日 00:15

欧易okx交易所下载

欧易交易所又称欧易OKX,是世界领先的数字资产交易所,主要面向全球用户提供比特币、莱特币、以太币等数字资产的现货和衍生品交易服务,通过使用区块链技术为全球交易者提供高级金融服务。

APP下载   官网注册

作为虚拟币行业人士而言,我们经常都会说到可移植性时有很多细节是需要注意的。你知道java通过什么保证可移植性?今天就让小编跟你们说说吧!

就是说程序在完成后,可以直接搬用到其他的平台上。

完成其他平台的需求。这样可以避免代码的重复编写

给编程带来很大方便。

就是可以在不同的平台上用,而改动的代码是一部分,其实是分模块编程,把不会变的一类写到一起

可移植性是指一个软件中的资料能否正常地导入或导出到其他软件的功能。比如像联系人列表、接收或发送过的邮件,这些资料内容十分庞大,而且非常重要,无论是我们重装系统还是升级原有软件,可移植性好的软件都因为减少了大量重复性录入而更容易得到用户的青睐。

可移植性一般分为两种:软件可移植性,硬件可移植性。

软件可移植性是指代码可以在不同平台间移植,硬件移植性是指在不同硬件间(如不同构架的CPU)移植。

我们一般说的软件的可移植性指的是软件可移植性,简单的说就是指源代码到不同的平台下(不同的操作系统,例如从Windows下移到Linux下)时,需要修改的内容越少,移植性越好。

如果是编译好的程序那就谈不上移植性了,它是不可能跨平台运行的。

要保证软件可移植性,就是少用或不用系统特有的东西,比如你用C语言编程,你可以使用C语言本身的库,但不要用WindowsAPI函数,因为WindowsAPI函数在Linux下是没有的,如果想移植到Linux平台下,使用WindowsAPI函数的部分代码就要做出修改了。

其质量子特性有:适应性、易安装性、共存性、易替换性和依从性。

可移植性并不是指所写的程序不作修改就可以在任何计算机上运行,而是指当条件有变化时,程序无需作很多修改就可运行。你不要把“我不会碰到这种情况”这句话说得太早。直到MS—视频教程’windows出现之前,许多MS—DOS程序员还不怎么关心可移植性问题。然后,忽然之间,他们的程序不得不在一个看起来不同的操作系统上运行。当Power PC流行起来后,Mac机的程序员不得不去应付一个新的处理器。任何一个在同版本的UNIX下维护过程序的人所了解的可移植性的知识,恐怕都足以写成一本书,更别说写成一章了。假设你用基本ALBATR—OS(Anti-lock Braking and Tire Rotation operating system)的Tucker C来编写防抱死刹车软件,这听起来好象是一个最典型的不可移植软件。即便如此,可移植性仍然很重要:你可能需要把它从Tucker C的7.55c版本升级到8.O版本,或者从ALBATR—OS的3.o版本升级到3.2a版本,以修改软件中的某些错误;你也可能会出于仿真测试或宣传的目的,而把它(或其中一部分)移植到MS-Windows或UNIX工作站上;更为可能的是,在它尚未最终完工之前,你会把它从一个程序员手中交到另一个程序员手中。可移植性的本意是按照意料之中的方式做事情,其目的不在于简化编译程序的工作,而在于使改写(重写!)程序的工作变得轻易。假如你就是接过别人的程序的“倒霉蛋”,那么原程序中的每一处出乎意料之外的地方都会花去你的时间,并且将来可能会引起微妙的错误。假如你是原程序的编写者,你应该注重不要使你的程序中出现出乎接手者意料之外的代码。你应该尽量使程序轻易理解,这样就不会有人抱怨你的程序难懂了。此外,几个月以后,下一个“倒霉蛋”很可能就会是你自己了,而这时你可能已经忘记了当初为什么用这样复杂的一种方式来写一个for循环。使程序可移植的本质非常简单:假如做某些事情有一种既简单又标准的方法,就按这种方法做。使程序可移植的第一步就是使用标准库函数,并且把它们和ANSI/ISO C标准中定义的头文件放在一起使用,详见第11章“标准库函数”。第二步是尽可能使所写的程序适用于所有的编译程序,而不是仅仅适用于你现在所使用的编译程序。假如你的手册提醒你某种功能或某个函数是你的编译程序或某些编译程序所特有的。你就应该谨慎地使用它。有许多关于c语言编程的好书中都提出了一些关于如何保持良好的可移植性的建议。非凡地,当你不清楚某个东西是否会起作用时,不要马上写一个测试程序来看看你的编译程序是否会接受它,因为即使这个版本的编译程序接受它,也不能说明这个程序就有很好的可移植性(C++程序员比c程序员应该更重视这个问题)。此外,小的测试程序很可能会漏掉要测试的性能或问题的某些方面。第三步是把不可移植的代码分离出来。假如你无法确定某段程序是否可移植,你就应该尽快注释出这一点。假如有一些大的程序段(整个函数或更多)依靠于它们的运行环境或编译方式,你就应该把其中不可移植的代码分离到一些独立的“.c”文件中。假如只在一些小的程序段中存在可移植性问题,你可以使用#ifdef预处理指令。例如,在MS-DOS中文件名的形式为“tools

eadme”,而在UNIX中文件名的形式为“/tools/readme”。假如你的程序需要把这样的文件名分解为独立的部分,你就需要查找正确的分隔符。假如有这样一段代码#ifdef unix#define FILE_SEP_CHAR’/’#endif#ifdef __MSDOS__define FILE SEP CHAR’\’#endif你就可以通过把FILE_SEP_CHAR传递给strchr()或strtok()来找出文件名中的路径部分。尽管这一步还无法找出一个MS-DOS文件的驱动器名,但它已经是一个正确的开头了。最后,找出潜在的可移植性问题的最好方法之一就是请别人来查找!假如可以的话,最好请别人来检查一下你的程序。他或许知道一些你不知道的东西,或许能发现一些你从未想过的问题(有些名称中含lint的工具和有些编译程序选项可以帮助你找出一些问题,但你不要指望它们能找出大的问题)。

感谢您阅读本篇对可移植性的详细介绍,如果你对java通过什么保证可移植性还不够了解,想进一步学习关于可移植性的知识,可以在本站首页搜索你想知道的!

推荐阅读

360桌面日历(360日历主程序怎么永久退出)
股指期货日内交易看几分钟(股指期货 日内交易)
高胜率 价格形态 期货 程序化 高胜率 价格形态 期货 程序化交易
邮政汇款银行业务(邮政汇款程序)
c 期货程序化交易,c 期货程序化交易是指
cad向程序发送命令时出现问题怎么解决(cad向程序发送命令时出现问题怎么解决)
手提电脑声音怎么调大(手提电脑声音怎么调大小)
找不到应用程序(泰坦陨落2找不到应用程序)
梦幻西游mac版本怎么安装(macos 梦幻西游)
重装大师360(重装大师管理员账户)
文章来源: Demi
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至405936398@qq.com 举报,一经查实,本站将立刻删除。
相关资讯
虚拟币平台差价买卖?虚拟币平台差价买卖违法吗
虚拟币平台差价买卖?虚拟币平台差价买卖违法吗 1970-01-01

非凡地,当你不清楚某个东西是否会起作用时,不要马上写一个测试程序来看看你的编译程序是否会接受它,因为即使这个版本的编译程...

国内虚拟货币挖矿停止(会产生重大影响吗?)
国内虚拟货币挖矿停止(会产生重大影响吗?) 1970-01-01

非凡地,当你不清楚某个东西是否会起作用时,不要马上写一个测试程序来看看你的编译程序是否会接受它,因为即使这个版本的编译程...

浙江整治虚拟货币挖矿企业(浙江华冶矿建集团有限公司介绍)
浙江整治虚拟货币挖矿企业(浙江华冶矿建集团有限公司介绍) 1970-01-01

非凡地,当你不清楚某个东西是否会起作用时,不要马上写一个测试程序来看看你的编译程序是否会接受它,因为即使这个版本的编译程...

虚拟币用什么平台直播好 虚拟币用什么平台直播好呢
虚拟币用什么平台直播好 虚拟币用什么平台直播好呢 1970-01-01

非凡地,当你不清楚某个东西是否会起作用时,不要马上写一个测试程序来看看你的编译程序是否会接受它,因为即使这个版本的编译程...

关于政治虚拟货币的问题(欧美国家为什么没有禁止?)
关于政治虚拟货币的问题(欧美国家为什么没有禁止?) 1970-01-01

非凡地,当你不清楚某个东西是否会起作用时,不要马上写一个测试程序来看看你的编译程序是否会接受它,因为即使这个版本的编译程...

虚拟游戏币充值平台?虚拟游戏币充值平台有哪些
虚拟游戏币充值平台?虚拟游戏币充值平台有哪些 1970-01-01

非凡地,当你不清楚某个东西是否会起作用时,不要马上写一个测试程序来看看你的编译程序是否会接受它,因为即使这个版本的编译程...