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

开发 后端
在Vista系统进行C++开发时只支持C++托管代码的开发,原生代码开发将位于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++的话。#t#

不在此列,哈哈--如果不出意外(喜欢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类,可以处理字串操作。

C++ Builder联机帮助中详细介绍了AnsiString类)。尽管C语言中的字串处理方法比较麻烦,但并不过时,C++编程人员经常在使用cstring类和AnsiString类等字串类的同时使用C语言中的字串处理方法。这里不想对表中的每个函数进行举例说明,只想举两个最常用的函数。strcpy()函数将一个字串复制到另一字串中,源字串可以是变量或直接字串。例如下列代码:

  1. //set up a string to hold 29 characters   
  2.  
  3. char buff[30];   
  4.  
  5. //copy a string literal to the buffer   
  6.  
  7. strcpy (buff,"This is a test.");//display it   
  8.  
  9. cout << buff << end;   
  10.  
  11. //initialize a second string buffer   
  12.  
  13. char buff2[]="A second string.";   
  14.  
  15. //copy the contents of this string to the first buffer   
  16.  
  17. strcpy (buff,buff2);   
  18.  
  19. cout << buff << end1;  
责任编辑:chenqingxiang 来源: itwis.com
相关推荐

2010-01-21 10:23:53

C++代码

2010-01-20 17:23:03

C++编程语言

2010-01-15 09:58:38

C++ Builder

2010-01-26 14:10:22

Visual C++

2010-01-22 16:21:50

C++ Builder

2010-01-19 14:54:58

Visual C++

2010-01-15 10:14:21

C++ Builder

2010-01-11 16:19:05

C++ Builder

2010-02-06 15:15:31

C++ Builder

2010-01-19 14:39:22

C++ Builder

2010-01-21 09:34:57

C++语法

2010-01-27 16:05:06

C++堆栈

2015-09-07 13:55:53

PHPC++

2022-08-22 15:32:59

C++C代码

2010-01-21 14:07:14

CC++声明

2011-11-07 13:38:27

2011-09-19 16:38:32

windowsXPvista

2010-01-20 10:19:55

C++数组

2010-01-21 13:33:44

C++基类

2010-01-25 10:25:19

C++变量
点赞
收藏

51CTO技术栈公众号