Vista系统中C++ Builder还这么好使吗?

C++ Builder可以编译所有符合ANSI/ISO标准的原代码,支持最新ANSI C++/C语言特征:模板、例外、运行、以及Namespaces等,下面着重说明下在Vista系统中C++ Builder的开发工作。

注意:当然,这里所说的让位,是指RAD;这里所提的“VS2005及以后的版本在Vista下将只支持C++托管代码的开发”来自6月8号在西安参加CodeGear的新品发布会时范路先生所说。

个人很喜欢C#,一方面类库强大,另一方面因为C#的架构师Anders Hejlsberg(我很佩服,呵呵)。不管MS有多少不好,基于MS和Windows的强大,掌握MS阵营的一种或多种工具很是很有必要的(我只是开源和Linux的拥护者,非常不狂热),所以我选择了C#。扯远了。

C++Builder2007支持Vista下的原生代码开发,也只支持这种方式。但是不要以为原生代码实现不了Vista的特殊效果。范路先生说了。这是C++ Builder及以后的版本的定位,也因为MS将放弃VC++在Vista下的原生代码开发,将会给予C++ Builder一条生路(同眼下相比)。

忘了Delphi是什么定位了,可能范路先生没有说。难道还是双管齐下?不知道在Vista时代C++ Builder能否重振雄风:)更有可能的是三国时代(上一次是Borland、MS和赛门铁克)重现--在原生代码领域?托管还是原生,每个人的偏爱都不一样--如果你不喜欢C++的话。

不在此列,哈哈--如果不出意外(喜欢C++ && 原生代码 && RAD的大有人在;来分C++原生代码RAD的公司姗姗来迟),MS就把一部分江山拱手相让了;这样也好,竞争对手也是一种推动力。C++ Builder生成新的控制台应用程序时会自动加上这条语句。这在你所用的程序中不是必须的,所以代码清单中将其省略。无论有无这条语句,程序运行结果是一致的。

分析输出结果为:x=32767 x=32768如果用int数据类型,则不会有这个问题,因为int数据类型的取值范围在正向20亿之间,一般不会有绕回的问题。但这时程序可能会稍大一些,因为int需要4字节存储,而short只需要2字节存储。

对于大多数应用程序,这个差别是不显著的。前面介绍了自动类型换算。有时C++无法进行换算,这时可能在编译器中产生编译错误,说Cannot convert from x to y(无法从x换算到Y)。

编译器也可能警告说Conversion might lose significant digits(换算可能丢失显著位)。提示 编译器警告应当作编译器错误。因为它表明出了错误。我们应努力生成无警告的编译。有时警告无法避免,但一定要认真检查所有警告。应充分了解警告的原因并尽量予以纠正。

说明 这里介绍的字串操作是C语言中的字串处理方法。大多数C++编译器提供了cstring类,可以简化字串的处理(C++ Builder的Visual构件库中有个AnsiString类,可以处理字串操作。

相关推荐