FreeBASIC是一個(gè)自由/開源(GPL)的32位BASIC編譯器,可運(yùn)行在Microsoft Windows、保護(hù)模式的DOS(DOS擴(kuò)展)、Linux以及Xbox上。
FreeBASIC通過使用"QB"關(guān)鍵字可以在高級別上支持用QBASIC編寫的程序。許多用QBASIC寫的程序可以在不需任何修改的情況下編譯和運(yùn)行在這個(gè)模式下。但是如果使用默認(rèn)的參數(shù)來編譯的話,大部分的程序還是要進(jìn)行一些修改的。
功能
- 幾乎支援所有QB的原指令,且有許多追加功能
- 產(chǎn)生快速高品質(zhì)的機(jī)械碼,不依靠VM等虛擬機(jī)器
- 完全免費(fèi),包含原始碼,編譯出的程式無授權(quán)問題
- 支援MS-DOS/Win32/Linux多平臺,也可以編譯GUI程序
- 擁有眾多第三方函式庫支援(Allegro/SDL..以及DirectX/Win32API)
- Unicode支援,使用中文十分容易
- 編譯EXE/OBJ/LIB/DLL都很容易,以便和其他語言應(yīng)用
更新日志:
語法類似MS QuickBASIC(包括圖形報(bào)表),增加了新的功能,如指針,無符號數(shù)據(jù)類型、內(nèi)聯(lián)匯編,預(yù)處理器。
不足點(diǎn):
- 代碼最佳化還沒有100%完成
FB與VB的不同
1.FB是跨平臺編譯器,VB不能跨平臺
2.FB可以編譯DLL,VB只能編譯COM平臺的DLL
3.FB可以寫驅(qū)動(dòng),VB不能寫驅(qū)動(dòng)[能寫也是假的,驅(qū)動(dòng)要用專用函數(shù)]
4.FB有一定的OOP能力[雖然很弱],VB不具備OOP能力
5.FB支持全部的C函數(shù)庫,VB僅能使用DLL函數(shù)庫 6.FB無依賴運(yùn)行庫的機(jī)器碼編譯,VB需要固定的運(yùn)行庫
7.FB的支持內(nèi)嵌ASM[匯編],VB不支持內(nèi)嵌匯編[可以使用API潛入機(jī)械碼]