發展歷程
2004年9月,André Victor T. Vicentini出於無聊決定編寫一個玩具解析器的代碼。當這些代碼可以解構真正的程式時,他進一步改良成適用於視窗的32位x86組件。他以AST產生的代碼已比當時任何QB兼容的編譯器先進,再加上同友人們互相討論及改進,終成為一個具備產生最優性能代碼的編譯器。
Free BASIC建基於同儕間持續開發、探索、支援與鼓勵,一直保持公開共享開源的成果。
語言特點
基本特點
- 幾乎支援所有QB的原指令,且有許多追加功能
- 產生快速高品質的機械碼,不依靠VM等虛擬機器
- 完全免費,包含原始碼,編譯出的程式無授權問題
- 支援MS-DOS/Win32/Linux多平台,也可以編譯GUI程式
- 擁有眾多第三方函式庫支援(Allegro/SDL..以及DirectX/Win32API)
- Unicode支援,使用中文十分容易(但FBIDE尚不能編輯Unicode檔案)
- 編譯EXE/OBJ/LIB/DLL都很容易,以便和其他語言套用
FB與VB相異點
1.FB是跨平台編譯器,VB不能跨平台
2.FB可以編譯DLL,VB只能編譯COM平台的DLL
3.FB可以寫驅動,VB不能寫驅動[能寫也是假的,驅動要用專用函式]
4.FB有一定的OOP能力[雖然很弱],VB不具備OOP能力
5.FB支持全部的C函式館,VB僅能使用DLL函式館
6.FB無依賴運行庫的機器碼編譯,VB需要固定的運行庫
7.FB的支持內嵌ASM[彙編],VB不支持內嵌彙編[可以使用API潛入機械碼]
然後說一下FB的缺點:
- 暫時沒有視覺化的GUI編輯工具
- 代碼最佳化還沒有100%完成
- 沒有OOP能力
基本語法
數據類型
整數型:byte(-128~127)、UBYTE(0~255)、short(-32768~32767)、ushort(0~65535)、
integer(-2147483648~2147483647)、uinteger(0~4294967295)、long(同integer)、
longint(-9223372036854755808~9223372036854755807)、
ulongint(0~18446744073709551615)、實數型:single(負數:-3.43e38~-1.1e-38 正數:1.1e-38~3.43e38)
double(負數:-1.7e308~-1.1e-308 正數:2.2e-308~1.7e308)、字元型:string(0~2GB)
一維數組:
二維數組:
運算符
(1)算術運算符:
+、-、*、/、\、mod、^
(2)字元串運算符:
&、left、right、instr、mid……
(3)關係運算符:
<、<=、<>、=、>、>=
(4)邏輯運算符:
and、or、not、xor、eqv、imp