如何确定 Pascal 编译器的版本号?

fxworld 2014-09-15 03:27:15
第三方组件里经常有
{$ IF VER210 }
....
{$ENDIF}
这样的预处理指令,请问这VER210这样的版本号是如何知道的?总不能一个一个的测试吧。
...全文
127 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fxworld 2014-09-15
  • 打赏
  • 举报
回复
太好了,谢谢 DelphiGuy. 还有老妖。
fxworld 2014-09-15
  • 打赏
  • 举报
回复
第三方组件大部分几乎清一色.pas代码,所以需要知道Delphi的版本号,查了半天不知道在那。
ccrun.com 2014-09-15
  • 打赏
  • 举报
回复
也就是说,如果你的代码要兼容多个版本编译器的话,可以这样写: #if __TURBOC__ >= 0x690 // XE7及更高版本的代码写在这里 #else // 低于XE7版本的代码写在这里 #endif
ccrun.com 2014-09-15
  • 打赏
  • 举报
回复
在C++Builder中判断Pascal编译器版本没多大意思吧,如果要判断C++的编译器版本,判断 __TURBOC__ 就知道了
对应的版本:
0x0510 = C++Builder 1.0
0x0520 = C++Builder 2.0
0x0530 = C++Builder 3.0
0x0540 = C++Builder 4.0
0x0550 = C++Builder 5.0
0x0560 = C++Builder 6.0
0x0564 = C++Builder 6.0 with Update 4
0x0570 = Turbo C++ 2006
0x0580 = C++Builder 2006
0x0582 = C++Builder 2006 with Update 2
0x0590 = C++Builder 2007
0x0591 = C++Builder 2007 with Update 1
0x0592 = RAD Studio 2007
0x0593 = RAD Studio 2007 December Update
0x0610 = C++Builder 2009 or with Update 1
0x0620 = C++Builder 2010
0x0621 = C++Builder 2010 with Update 1/2/3/4/5
0x0630 = C++Builder XE
0x0631 = C++Builder XE with Update 1
0x0640 = C++Builder XE2
0x0641 = C++Builder XE2 with Update 1
0x0642 = C++Builder XE2 with Update 2
0x0643 = C++Builder XE2 with Update 3
0x0644 = C++Builder XE2 with Update 4
0x0645 = C++Builder XE2 with Update 4 Hotfix 1
0x0650 = C++Builder XE3
0x0651 = C++Builder XE3 with Update 1
0x0652 = C++Builder XE3 with Update 2
0x0660 = C++Builder XE4 or with Update 1
0x0670 = C++Builder XE5 or with Update 1/2
0x0680 = C++Builder XE6 or with Update 1
0x0690 = C++Builder XE7
Linux Linux最早是Linus Torvalds在1991年开始设计开发的, 当时他正是赫尔辛基大学计算机系的学生,刚开始他是在Minix环境下写了一个处理多任务切换的程序,用他自己的话来描述这个程序,Minix是linux的父亲。1991年的夏季,也就是他购买了第一台PC机之后6个月,Linus觉得他还需要从网上下载某些文件,为此他必须读写某个磁盘。于是他又不得不写一个磁盘驱动程序,然后是一个文件系统。而一旦你有了任务切换器、文件系统和设备驱动程序之后,你当然就拥有了一个操作系统,或者至少是它的一个内核。linux也就这样诞生了。 多任务 计算机在同一时刻运行多个应用程序的能力。 2.多用户 计算机在同一时刻被多个用户访问的能力。如网络上的服务器必须是多用户的。因为网络上的服务器需要能够同时接受多个用户的同时访问。多用户操作系统最主要的特点是:同一时刻不同的用户访问。4.保护模式在linux下应用软件无法访问系统分配的内存以外的内存区域。如此,一个软件的错误不会造成整个系统的瘫痪。5.POSIX表示可移植操作系统接口(Portable Operating System Interface ,缩写为 POSIX 是为了读音更像UNIX)。6.SYSV和BSD扩展 可以理解为和SYSV和BSD源代码级的兼容。简单一点,就是Linux下的应用程序同时也能在这两个系统上运行。 linux具有对多种语言如:C、C++、Java、Tcl/tk、Perl等很多语言的编译器/解释器,以及集成开发环境、调试和其它开发工具。以前,我们一直对windows平台下如VB VC软件开发的高效和便捷津津乐道,也是windows对linux围剿的利器。可是现在一切都改变了,因为有了Borland公司的Kylix。提起borland公司,在业界几乎是无人不知无人不晓,Borland公司一向以高性能、高效率的应用程序开发工具而着称,最著名的是DOS平台上的Turbo C、Borland C++,Windows平台上的Delphi、C++Build和Java开发工具。以上这些产品都称得上是经典之作,尤其是以面向对象的Pascal为基础的Delphi,更是经典中的经典,C++Bulid也是脍炙人口。Kylix就提供了linux版的Delphi和C++Bulid。这两个版本被认为是linux平台上第一个RAD(Rapid Application Development,快速应用软件开发工具)开发工具。 光有内核还不能构成一个完整的操作系统,于是一些组织或公司将内核与一些应用程序包装起来就构成了一个完整的操作系统,这就是发行套件,不同的公司或组织的发行套件各不相同,版本号也不相同,尽管它们使用了同一版本号的内核。现在的发行公司很多,如:我们常听说的RedHat,中软,红旗。 虽说Linux还无法与拥有一亿多用户的Windows相比,但是它确立自身地位和影响力所花费的时间却只有Windows的一半。作为一种Unix操作系统,Linux的强大性能显然使得其它品牌的Unix黯然失色。有分析家认为,“Linux的广泛普及使其成为Unix市场上最具活力的一只新军。”甚至连Unix之父Dennis Ritchie也认为Linux“确实不错”。有一些分析家甚至认为,在未来数年间,Linux将成为NT真正强有对手,也是唯一可以冲破微软垄断性文化圈的出路所在。

13,824

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧