FreeBASIC

FreeBASIC 是一个 BASIC 语言的编译器,可运行在Microsoft Windows、保护模式的DOS(DOS扩展器)、Linux以及Xbox上。

FreeBASIC通过使用"QB"关键字可以在高级别上支持用QBASIC编写的程序。许多用QBASIC写的程序可以在不需任何修改的情况下编译和运行在这个模式下。但是如果使用默认的参数来编译的话,大部分的程序还是要进行一些修改的。

特性
平台支持
FreeBASIC 现在可以运行在64位和32位的 Windows、GNU/Linux,FreeBSD, 以及16位的 DOS系统。也可以为 Xbox 创建应用程序(Xbox 版本目前已不再维护)。运行时库被设计成可移植的。所有第三方工具均使用来自 GNU Binutils。系统上编译器 100% 用 FreeBASIC 代码写成,使得可以简单的自举而不需要依赖太多的不可移植工具。

现代编程语言特性支持
FreeBASIC作为一种高级编程语言,支持面向过程、面向对象和元编程。

调试支持
完全支持GDB(GNU 调试器),数组越界检查(只有使用 -exx 命令行选项),空指针检查(同上)。

图形界面支持
该项目提供了与常见程序库的简单的绑定,比如:C 运行时库、Allegro、SDL、OpenGL、GTK+、Windows API等,同时也提供了一些示例程序。

它使用GNU Binutils软件开发工具作为后端,除了动态和静态库,还可以制作控制台和图形/GUI可执行文件。FreeBASIC完全支持C库和部分C++库。这使得程序员可以使用和创建C和许多其他语言的库。

FreeBASIC还不是一个优化编译器,但是它的速度被认为接近主流工具,如GCC。

语法
FreeBASIC语法试图尽量保持接近BASIC语法,特别是QuickBASIC。虽然语法上试图保持与其前辈一致,FreeBASIC还是遵循了一些现代的标准和编码实现。具有标准的过程特性以及面向对象特性,如对象、运算符重载、函数重载和命名空间等等,已经被加入到FreeBASIC中。

FreeBASIC的行在遇到行尾字符或冒号时结束。因此不需要使用特殊字符(如C语言中的分号)来通知编译器此行结束。多条语句可以通过冒号:分割写在一行里。

FreeBASIC支持块注释和行尾注释。整行注释使用一个撇号',块注释从/'开始,到'/结束。

兼容性
FreeBASIC继承自QuickBASIC,这将带来许多C++和其他面向对象编程语言中的新特性,高级优化技术,以及可以移植到任何现代系统上的能力。

0.17版中已经加入了面向对象程序设计的类,扩展了基本的数据类型。还有更多的新特性值得期待。

参考
外部链接
*[http://www.freebasic.net/ FreeBASIC官方网站]
*[http://www.freebasic.net/wiki/wikka.php?wakka=DocToc FreeBASIC官方文档]
*[https://web.archive.org/web/20060613035225/http://www.freebasic.net/forum/ FreeBASIC官方论坛]
*[http://sourceforge.net/projects/fbc/ FreeBASIC 托管在 SourceForge 的页面]
*[http://www.freebasic.net/wiki/ FreeBASIC wiki]

评论 (0)

  • 还没有评论,来抢沙发吧。