FreeBASIC是一款免费且开源的多平台编译器和基于BASIC的编程语言,适用于Microsoft Windows,保护模式MS-DOS(DOS扩展),Linux,FreeBSD和Xbox,许可证为GNU GPL。FreeBASIC重新定义了BASIC,为其赋予了现代化的特性和便捷性。即使对于初学者,FreeBASIC也是理想的编程语言,因为它强调易学易用的理念。

dark1

在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 编程工具。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。