1、“.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,外文翻译利用把代码运行在多平台上在今天,多平台的开发是个热门课题。开发人员希望能够支持不同的平台,例如和操作系统,还有,和等。直到不久之前,希望开发多平台任务的开发者们,只有很少的几种选择根据各个平台的不同的应用程序接口,为每个平台准备份单独的代码。利用能跨平台的工具所提供的虚拟。构建们自己的多平台层并支持它。但是到了今天,有了种新的办法。开发人员可以通过使用微软和第三方的工具,把他们现存的针对写的代码,对以上列举的各种平台重新编译。本文要关注的就是与这种新办法相关的方法和论点。目前,是紧随之后,市场上最流行的图形用户界面系统。但是这两个完全不同的操作系统之间有太多的不同......”。
2、“.....般情况下,对应用程序的开发,需要和不同的代码库,这些都增加了维护和升级的复杂度。因为从到的代码转换是最难的情形,所以本文重点是这个内容。如果你的代码能顺利地实现对平台的再编译,那么你就会发现它其它平台上的再编译也不难。针对提供的跨平台编辑器提供了些工具,这些工具是在或平台上运行,可以把代码再编译,使其适应和处理器。它还提供了个转换库来辅助程序在上运行。这就使你可以开发单的源代码针对的,并使它可以运行在或平台上。下面的第章,说明了是怎样针对工作的。你的源代码在或上面编写,编译,连接。这些工具将产生和的自然代码,以及资源。个基于以太网或串行连接的传输层会把目标代码移动远端的目的机器上运行。应用程序在平台上运行,并且在远端的机器上面调试。现在,公司有两个不同的结构来竞争,可转换性尤其重要......”。
3、“.....般来说,个转换包括以下几步遵循些转换性的方针以使你的程序更容易转换,这将不仅有助于保证基于的机器的转换,也有助于更新,基于芯片的机器的转换。把你的应用程序从位代码转换成位代码,这也许是最复杂和耗时间的工作。把你独特的应用程序分割,从熟悉的执行方式到。这将涉及到使用条件编译或者设计到你工程的资源树。利用转换库把代码转换成代码,并利用来编译连接调试。使用微软基础类库实现些新功能,例如,服务器,客户端或者利用的数据库支持。使用编写的代码对有很高的可转换性。编写专门的代码,可以利用的独特特点,利用事件或出版和定购。开发人员通过的特殊的多平台编辑器,可以充分利用新的硬件,例如机器。这些包括针对处理器系列和前面说的芯片还有这些工具在下运行,能都产生针对和的高度优化的应用程序。已经使用过这些工具进行再编译资源的开发人员......”。
4、“.....因为这些平台上的操作系统是各自独立的,它们的工具也是独立的,但是完成个转换确只需要很少的工作量。微软公司与两个第三方工具提供商合作密切和公司,这使得开发人员把自己的或程序针对进行再编译。开发人员可以通过直接和这些公司接触来获得更多的信息。很早的时候,你可以选择是编写基于原始或者基于的程序。般来说你会发现程序可转换性比程序好,这是因为应用程序框架的个内在优势是对基本操作系统进行了定程度的提炼,这种提炼类似于为你提供了种安全保证。但是,开发人员常常对有些疑问,例如如果我需要种操作系统服务,但应用程序框架没有提供如何处理直接调用,不会阻止你任何的直接调用,只要你在函数名前面加全局运算符就可以了我不懂,还能用吗当然可以。是基于的,但是你可以把和代码很好的结合起来。你在函数名前面加全局运算符就可以了我怎么样开始使用从类开始......”。
5、“.....系统提供了个很好地指南,然后,购买可以网上付费,自己邮寄到微软,它将帮助你把程序移植转换成为和。如果你从今天开始编写可转换性好的程序,那么所有的转换都会变得简单。遵守些基本的转换方针会使你的代码减少对特殊平台的依赖。不要假定任何事,特别是不要假定数据类型的大小机器的状态数据类型排序或者队列不要假定简单数据类型的大小,因为它们在不同的处理器上有不同的大小。例如,在和上分别是个字节和个字节,无论如何,避免代码依赖于数据类型的大小。使用来替换。使用宏来判断结构体的大小,而不要试图手动计算。使用可编程的借口去访问所有的系统或者隐藏对象,例如栈或堆。分解数据类型以提取单独的字节或比特,会在从到的转换时出问题,除非你在写代码时候小心,不假定任何类型分解。包含了些常量,用于辅助书写独立入平台的宏,以访问独立的字节。这看上去很明显......”。
6、“.....像这样有内置汇编程序的编译器,可以很容易的摆脱汇编码来提高速度。然而,如果你想转换代码,要避免这种诱惑。如果不是必须的,当今的编译器可以产生和手动产生效果样好的汇编码。我们在微软的研究表明,问题出现的原因往往是算法的不好,而不是代码的不好。实际上,由于行程和寄存器用法的过于复杂,在机器上,手动产生的汇编码要比机器产生的还要差。用语言编写所有的程序,然后,如果你必须用汇编码重写,确保把两种执行程序都保存,利用条件编译,并且保持两种程序的更新。美国国家标准委员会对的个主要目标是,提供个可转换的这种语言的执行程序。理论上说,严格按照编写的程序,对于任何执行标准的编译器都是可以转换的。提供了个编译器选项,可以用来检查的兼容性。为提供了些语言细节的补充,例如字符常数和单行的注释......”。
7、“.....因此,你可以使用字符常数编写程序,并且明白的程序可以转换到任何位或位平台,或者是平台。编译器经常定位在目标机器体系上的结构,些机器,例如,对排列尤为敏感。排列可能导致执行期,或者可能悄悄地和显著的影响你的程序。因此,避免封装结构,限制对硬件接口与兼容性地东西如文件格式和磁盘结构的封装。使用函数原型对于可转换代码来说命令,所有的函数都应该有原型,并且这些原型应该与实际声名的函数完全匹配。遵循上面的方针,将会是你的代码容易转换,但是,如果你代码是位的代码,那你第步要做的是使它能在下正常工作,这需要你的资源作额外的改变。为编写的代码可以在任何版本下运行,有转换库时候还可以在下运行。可转换的代码应该能在任意平台上正确的编译和执行。当然,如果你使用特有的,那他们在下将不能工作,例如有些线程在下工作,却不能在工作......”。
8、“.....和的主要区别是寻址长度,意思是现在位的指针对于或远或近的关键词不再支持了,也意味着分段存储的代码在下会不能工作。除了指针,句柄和图形调节也是位,会解决些大小不同的问题,但是仍然有些工作需要作。关于把你的程序在下运行的推荐的策略,是把你的代码再编译成的,注意消息和警告。接着,把复杂的函数和汇编语言函数用子函数代替,然后,利用上面的技术使你的主程序正确的工作。最后用个可转换的版本代替所有的子函数。当你已经成功地把你的程序从转换为,你应该准备好了着手把它转换成,因为这两个平台之间存在很大的区别,所以这个工作会显得令人畏惧。在你开始转换你的程序之前,你最好先明白这些区别。与区别在三个方面编程样式的区别处理器的区别用户界面的区别这些方面的区别会在下面叙述。伴随这些区别出现的转换问题会在从到的转换节中讨论......”。
9、“.....例如事件模型不同。在里,你分派消息到,使用处理你不关心的消息。在里,你有个大的事件循环来处理所有可能出现的消息。使用子窗口的概念,不使用子窗口。应用程序可以使用画笔或者画刷绘图,应用程序只能使用画笔。中的控件建立在窗口类上,在中,控件和窗口没有关系。允许位的色彩的操作只允许位的操作。因为两个平台之间的这些区别,从个应用程序到程序的转变如果没有有力的工具,那将是个艰巨的任务。直在处理器上运行除了,并且直在处理器上运行当然,现在也能在上运行。两个处理器家族间的区别包括寻址和字节排序,还有,指令集,以及寄存器的名字和数量。处理器,以及随后衍生的系列处理器使用地址,只能支持,的存储器寻址。为了支持使用更大的内存,使用分段存储器结构,这样利用寄存器可以访问兆内存,还有个的偏移量。最初的这种配置已经扩展,允许访问更大的内存了......”。
1、手机端页面文档仅支持阅读 15 页,超过 15 页的文档需使用电脑才能全文阅读。
2、下载的内容跟在线预览是一致的,下载后除PDF外均可任意编辑、修改。
3、所有文档均不包含其他附件,文中所提的附件、附录,在线看不到的下载也不会有。