FreeBASIC是一款免费且开源的多平台编译器和基于BASIC的编程语言,适用于Microsoft Windows,保护模式MS-DOS(DOS扩展),Linux,FreeBSD和Xbox,许可证为GNU GPL。FreeBASIC重新定义了BASIC,为其赋予了现代化的特性和便捷性。即使对于初学者,FreeBASIC也是理想的编程语言,因为它强调易学易用的理念。
在FreeBASIC的设计中,兼容性是核心思考点之一。 所有的Windows程序,无论多么简单或复杂,都将遵循相同的基本格式。在“QB”语言模式下使用,FreeBASIC提供了与QuickBASIC语言以及大多数QB64函数集合的高度兼容性。此外,FreeBASIC还支持许多现代编程概念,允许开发者使用过程编程,对象导向编程,或者混合这两种方式。
无论是创建小型实用程序,还是复杂的应用程序,FreeBASIC都是理想的工具。基于FreeBASIC的强大功能,构建游戏也变得极其方便,你甚至可以一边学习一边构建你的第一个游戏。简而言之,FreeBASIC不仅是一款快速高效的编程语言,也是具有吸引力的编程工具,富有潜力,足以让你的编程技能更上一层楼。
简洁的语法
仅添加了少量关键字。所有过程都作为库实现,因此在大多数情况下,没有新的内部例程,因此与旧代码发生名称重复的可能性很小。
与现有 C 库和 API 的精简绑定(头文件)
不需要包装器或帮助器,只需一个移植的头文件,使外部 C 库的使用变得非常容易。官方发行版已经提供了多个与现有 C 库的绑定,请参阅外部库以获取完整的最新列表。
多平台
FreeBASIC 目前可以在 64/32 位 Windows、Linux 和 DOS 上运行(16 位 DOS 就足够了,尽管 FreeBASIC 本身和编译器输出都是 32 位),并且还为 Xbox 控制台创建应用程序。更多平台即将推出。编写运行时库时考虑到了可移植性。使用的所有第三方工具都已存在于大多数操作系统上,因为它们来自 GNU binutils。该编译器是用 100% FreeBASIC 代码编写的(即 FreeBASIC 自行编译),这使得引导变得简单,因为它不依赖于不可移植的工具。
统一码支持
除了带有 Unicode 转义序列 (\u) 的 ASCII 文件外,FreeBASIC 还可以解析 UTF-8、UTF-16LE、UTF-16BE、UTF-32LE 和 UTF-32BE 源文件 (.bas) 或头文件 (.bi),它们可以是与同一项目中的其他源/标头(以及其他 ASCII 文件)自由混合。文字字符串可以用原始的非拉丁字母输入,只需使用支持上面列出的某些 Unicode 格式的文本编辑器即可。 Wstring 类型保存宽字符,所有字符串过程(如 Left、Trim 等)也适用于宽字符串。 Open 已扩展为支持带有编码说明符的 UTF-8、UTF-16LE 和 UTF-32LE 文件。输入#和行输入#,以及打印#和写入#可以正常使用,并且如果需要的话,Unicode到ASCII之间的任何转换都会自动完成。 Print 还支持 Unicode 输出(请参阅要求)。
大量内置数据类型
- 整数:字节、Ubyte、短整型、Ushort、整型、UInteger、长整型、ULong、Longint、Ulongint
- 浮点:单精度(32 位)、双精度(64 位)
- 字符串:固定、可变长度或空终止 (Zstring)、最长 2GB 的 Unicode 字符串 (Wstring),与 Zstring 类似,但支持宽字符。直接使用Windows Unicode API程序等
用户定义类型 (UDT)
无限嵌套。支持 BASIC 的 Type 语句以及新的 Union 语句(包括匿名嵌套联合)。可以使用最多八个维度的数组字段。过程指针字段。位字段。枚举 (enum) 使用 Enum 轻松声明具有连续值的常量列表。数组 支持固定长度和可变长度数组,最大大小为 2 GB。最多八个维度,包括维度未知的数组。任何下限和上限。在使用新的 Preserve 说明符通过 Redim 调整可变长度数组的大小期间可以保留元素数据。指向上面列出的任何数据类型的指针,包括字符串字符、数组元素和 UDT。使用与 C 相同的语法。无限的间接级别(例如,指向指向...的指针)。程序指针。索引 [](包括字符串索引)。类型铸造。变量、对象和数组初始化 用于静态、模块级或局部变量、数组和 UDT。
默认过程参数值
对于数字、字符串和 UDT 参数类型。过程重载 包括具有默认参数值的过程。
内联汇编 Intel 语法
直接通过名称引用变量;不需要“技巧代码”。
传统预处理器支持
与 C 中的语法相同。#Define 命令支持单行宏,包括参数。 #Macro 命令支持多行宏。类型别名 支持像 C 中一样的前向引用,包括 UDT 和过程指针类型。字符串文字的类似 C 的转义序列 与 C 中相同(除了数字被解释为十进制,而不是八进制)。
调试支持
GDB(GNU 调试器)或 Insight(GDB GUI 前端)的完整调试支持。数组边界检查(仅通过 -exx 命令行选项启用)。空指针检查(与上面相同)。
创建 OBJ、LIB、DLL 和控制台或 GUI EXE
您绝不会被任何类型的 IDE 或编辑器所束缚。您只需添加一个命令行选项(-lib 或 -dylib/-dll)即可创建静态和动态/共享库。作为 32 位应用程序,FreeBASIC 可以编译最大 2 GB 的源代码文件。符号(变量、常量等)的数量仅受编译期间可用的总内存的限制。 (例如,您可以在源代码中同时包含 OpenGL、GTK/SDL、BASS。)
优化代码生成
虽然 FreeBASIC 不是优化编译器,但它执行多种常规优化,以便在 x86 CPU 上生成尽可能最快的代码,不输给其他 BASIC 替代方案,包括商业替代方案。完全免费所有第三方工具也是免费的。不使用废弃或受版权保护的软件(Win32 上的 GoRC 除外)。汇编器、链接器、归档器和其他命令行应用程序来自 GNU binutils 编程工具。
评论(0)