b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

微信java [ 转 ]C++和JAVA的区别(15)

电脑杂谈  发布时间:2018-01-06 03:03:59  来源:网络整理

如果你要写一个完全可以跨平台编译的代码,只能依靠标准库来写,那样这个程序的功能就一定非常有限.当然也有一些跨平台的库可以使用.比如GUI方面的 wxWidgets等等不过尽管如此.我们还是可以做一些工作来方便移植工作。不要假想平台的硬件环境,如果你要做一些对字节操作或者位操作的内容, 最好注意big endian以及small endian问题不同的平台实现不同.不要假想字节长度,int的大小是32,但是不同实现里面可能有不同的长度.这依赖实现,虽然大多数的实现都使用几 乎相同的标准。尽量不要操作底层的内容基于上面两条,我们可以得出可移植性最高的代码,应该是那些不对位或者字节进行直接操作的.不对指针内容进行修 改的,大多调用标准库函数的.不使用高级模板功能的代码。

Linux下的G编译器对标准C支持得很好。如果做手机游戏,要用C,nokia需要Symbian提供的C++开发环 境,smartphone则可以用vs.net提供的。这些环境开发出来的代码,都是与平台相关的。然而如果是游戏的话想跨平台就用J2ME吧!

纯c代码的话,跨平台十分简单,重新编译就是了。但实际上哪有纯c的软件?c算是较底层的语言,所以用它写软件难免要出现平台相关的东西,这就是移植时要修改的重点。

总的来说,跨平台性还是不错的C的跨平台就只有两点。

1,遵循标准。特定的平台除外。

2,禁用reinterpret_cast和C风的强制转换。 #ff0000当然上边说的两点只是针对与跨编译器。但是,如果说 OS 平台,那么基本所有功能都是与平台相关的,包括网络、文件系统等显而易见的功能,以及 IO、内存分配等那么不显而易见的。要让 C 代码跨平台,我们只能通过包装库来掩盖不同平台的区别,这样,基于这些包装库的 C 程序才能在【源码级别】实现“跨平台”。

跨平台当然要注意避免使用依赖系统的操作:

1. 基本类型的长度以及相对这些类型的操作,如wchar_t。

2. 字符操作,特别是汉字类的宽字符。

3. IO操作另外不同编译器对C的实现是不同的,这就要编译一下试验一下,不过这种问题都很容易修改的!

我感觉越涉及到底层的东西,越难实现跨平台。不同的硬件体系结构,不同的编译器和编译环境,都给跨平台带来了很多的困难。如果要写出跨平台的程序,尽量使用跨平台的函数库(STLboost),尽量避免涉及到底层的编程。

c如果涉及到跨操作系统的东西,可以使用ace,这个东西是对系统的封装的程序包。还是不错的(备注:什么是ACE?ace的全名是adaptive communication environment(可适应的通信环境),它是一个通信中间件,具有良好的可移植性;winsock只是一个socket编程的api库,仅仅提供一组api给你调用,但是ace还提供了一个性能优异的框架,也就是说,ace已经把底层的socket api包装成一个具有逻辑性的框架,你只需要按照调用规范去使用就可以获得较好的性能)

在应用表示层上做到跨平台,低层实现上或多或少都是与平台相关的. (

八)C++与JAVA区别小总结:

事实上,constant和typedef这两条语句包含了#define语句的作用。现在,结构和联合已经被Java的类所代替。删除这些特性的原因 是:由于其希望维持与C语言的向后兼容性,C 的语言规范包含了大量冗余。比如,类实际上就已经包括了结构和联合的作用,因此这两种数据结构完全可以取消。关于#define语句,Java语言规 范的制订者认为:尽管该语句的出发点是为了增强程序的可读性,但实际效果却恰恰相反,它常常导致难读的代码,故应该予以取消。Java不再支持独立函数, 因此任何函数都必须封装到某个类中。由于人们普遍认为, C所用的超类是非常不稳定的,因此Java抛弃了C中的多继承并代之以接口。Java的接口指的是,在别的类看来一个类所能实现的方法。它所显示 的只是一个类的方法或常量和变量,而不是这个类的全部结构。

最后,Java还取消了C中的GOTO语句、操作符重载、自动类型转换及指针数据类型。 GOTO语句引起的争议已经有很多年了,可一直阴魂不散,这跟某些程序员对该语句一直情有独钟有关。C仍然支持数据类型的自动转换,但Java要求编 程人员显式实现数据类型之间的转换。自动数据类型转换使得两个数据类型互不兼容的变量可以相互赋,而不需要给出显式说明。这有时会导致一些问题,其中最 常见的是精确度损失。比方说,如果把一个带符号的32位整数赋给一个无符号整数,则所有的结果均为正数。Java的设计者们认为这很容易引起程序错误,从 而决定不支持这种转换方式。

到此已经全部结束.全剧终


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/sanxing/article-58491-15.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...