Skip to content

FreeBASIC现代开源 BASIC

传承经典 QBASIC 语法,拥抱现代编程特性

FreeBASIC
20+
年开发历史
800+
中文文档页面
32/64
位原生编译
3
个主要平台
支持的操作系统
Windows
Linux
DOS

FreeBASIC 是什么?

FreeBASIC 是一个免费开源的 BASIC 语言编译器,兼容微软 QBASIC/QuickBASIC 4.5 语法,同时引入现代编程语言特性。它能生成快速高效的 32/64 位原生代码,支持 Windows、Linux 和 DOS 平台。

🎯 为什么选择 FreeBASIC?

特性说明
🎓 学习友好语法简洁直观,是编程入门的绝佳选择
🕹️ 怀旧兼容完美运行 classic QBASIC 程序和游戏
🏗️ 现代功能支持类、对象、继承、多态等 OOP 特性
⚙️ 系统编程支持指针、内存操作、内联汇编
🎨 图形编程内置强大的 2D 图形库,轻松开发游戏
🌐 网络编程支持 Socket、HTTP 等网络功能

代码示例

🎯 经典入门 - Hello World

vb
' 经典的 "Hello, World!" 程序
Print "Hello, World!"
Sleep

📁 文件操作

vb
' 简单的文件读写
Dim f As Integer = FreeFile
Open "test.txt" For Output As #f
Print #f, "Hello FreeBASIC!"
Print #f, "第二行数据"
Close #f

' 读取文件内容
Open "test.txt" For Input As #f
Dim buf As String
While Not Eof(f)
    Line Input #f, buf
    Print buf
Wend
Close #f
Sleep

🧮 数组与算法

vb
' 冒泡排序示例
Dim arr(1 To 10) As Integer
Dim i As Integer, j As Integer, temp As Integer

' 初始化数组
For i = 1 To 10
    arr(i) = Int(Rnd * 100) + 1
Next i

Print "排序前: ";
For i = 1 To 10: Print arr(i); " ";: Next i
Print

' 冒泡排序
For i = 1 To 9
    For j = i + 1 To 10
        If arr(i) > arr(j) Then
            Swap arr(i), arr(j)
        End If
    Next j
Next i

Print "排序后: ";
For i = 1 To 10: Print arr(i); " ";: Next i
Print
Sleep

🧵 多线程编程

vb
' 多线程示例
#include once "fbthread.bi"

sub mythread( byval p as any ptr )
	print "hey! 邓伟"
    print "------------------------------------------------"
end sub

threaddetach( threadcreate( @mythread ) )
sleep 1

dim as long i,a
dim s as string
for i = 1 to 200
    a += i
    s += " + " & i
next
print s & " = " & a

🚀 在线运行

无需安装,直接在浏览器中编写和运行 FreeBASIC 代码!

在新窗口中打开 ↗


关于本文档

本站提供 FreeBASIC 完整中文文档,内容从 FreeBASIC Wiki 自动同步翻译,涵盖:

  • 📚 语言参考 - 完整语法、关键字、运算符
  • 📦 运行时库 - 标准函数、字符串、文件操作
  • 🎨 图形编程 - FBGFX 图形库完整文档
  • 🔧 编译器 - 命令行选项、编译配置
  • 常见问题 - FAQ 及解决方案

当前文档覆盖率:789/807 个页面


社区资源

官方网站 freebasic.net | 官方论坛 forum | Wiki wiki | GitHub github | 第三方库 libraries


免责声明

FreeBASIC 是独立的开源项目,与微软公司(Microsoft Corporation)无任何隶属关系。

BASIC、QBASIC、QuickBASIC 及相关商标均为微软公司注册商标。

本站文档仅供学习交流使用。

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系