开发者预览版2 - 下载/预览信息
关于
twinBASIC 是一款现代 BASIC 编译器,旨在与所有现有的 VB6 和 VBA 代码完全兼容。这是一个正在进行中的项目。功能不断增加,每天都在改进。在这次初步预览中,我们禁用了一些尚未准备好公开的功能。VB语法中有些部分尚未被支持。我们正在幕后努力整合剩余的语法部分,请多包涵。
免责声明
软件以“现状”提供,不提供任何明示或暗示的保证,包括但不限于可销性、特定用途适用性和非侵权等保证。
当前预览状态
该预览版twinBASIC可以编译独立的EXE应用程序、ActiveX DLL和ActiveX控件。
大多数常见的VB语言功能都已完成,但有几点重要内容需要注意。这些问题将在接下来的几周和几个月内得到解决。
- 错误编号和描述还不总是与VB匹配
- 目前仅允许通过调试控制台进行多线程
- vbWatchdog 支持已禁用
- 禁用Webserver扩展库
- VBA。交互.* 命名空间已实现,但测试覆盖较少,因此可能存在问题
- VBA。Strings.* 命名空间已实现,但测试覆盖有限,因此可能会有问题
要求
- 下载 twinBASIC IDE 压缩包
- 开发环境目前在 Windows 7、Windows 8、Windows 10 和 Windows 11 上测试并支持
寻求帮助
twinBASIC 问题跟踪现已在 GitHub 上线。我们收到了来自许多不同来源的大量错误报告和功能请求。今后,如果你能在仓库报告bug并发布功能请求,将非常有帮助,这将帮助我们更好地跟踪和管理请求。
你也可以加入我们的Discord服务器,聊聊任何与项目相关的话题:
twinBASIC Discord服务器或者,你也可以在推特上联系首席开发者:关注@WaynePhillipsEA
安装
下载 twinBASIC IDEtwinBASIC IDE 不需要在你的机器上安装任何设备。只需下载最新的ZIP文件,解压后从根目录中运行twinBASIC.exe文件即可。
入门指南 - 示例1 - HelloWorld!
让我们从一个简单的Hello World项目开始。
通过打开之前下载的twinBASIC.exe文件来启动twinBASIC IDE。现在选择“Samples”标签,打开名为“Sample 1”的样本。HelloWorld,
按F5执行启动程序(此处为Sub Main),你应该会看到示例提示框:
要从你的项目构建EXE文件,首先保存项目(文件菜单>保存项目),然后点击工具栏上的构建按钮:
EXE 文件现在已经构建完成,你应该会在调试控制台面板中看到详细内容:
项目设置
项目设置允许更改一般项目设置和COM引用。
多线程支持
twinBASIC 本身支持多线程,但在正式向世界发布此功能之前,我们需要添加一些语言语法来支持该功能。
与此同时,你可以在调试控制台测试多线程能力,通过用波浪号(~)启动表达式,表示你想在另一个线程上运行代码。
代码生成
twinBASIC Preview 1 发布的编译代码是未经优化的原生代码。尽管输出代码未优化,但由于它是原生机器码,通常比VBA(或VB6的p码编译)快得多。
目前正在将LLVM集成到twinBASIC中,以便我们能够享受它在代码生成方面带来的惊人优势。
用twinBASIC生成的EXE和DLL文件通常非常小。请注意,生成的EXE和DLL不需要任何运行时或可重新分发的组件!(除非你自己引用第三方组件)。
新的编译器功能
我们在视频中已经介绍了twinBASIC中许多新语言功能:
如果你错过了,让我们快速看看 twinBASIC 中的一些新功能......
内联变量初始化
返回语句
DeclareWide 语法
DeclareWide 关键字关闭了通常在 Declare 语句中使用字符串时,隐含的 ANSI 转换为 Unicode 的转换
过载
参数化构造子
自然地,由于 COM 不支持参数化构造子,因此只通过生成的 COM 类型库暴露默认构造函数。
别惊慌......twinBASIC 也依然支持 Class_Initialize() !
通用药
哦,还有通用推理也支持,所以你可以简化......
通用名词支持程序、类和UDTs。泛型不暴露在生成的COM类型库中,因此只能通过twinBASIC内部使用。
提示:twinBASIC 既接受文字,也接受泛型规格的类型!
实现逐过程支持
新的数据类型
阻断评论(如许多C风格语言中所见)
...还有更多精彩内容!!快来看看我们的视频吧!