簡介
她語法簡單卻是非常"高級"的,如指針,結構,過程,動態鍊表等. 富有經驗的程式設計師可以毫不費力的訪問系統支持的結構和 Windows API .
PureBasic 是一個兼容性廣泛的程式語言,支持 AmigaOS (680x0 和 PowerPC) 和 Windows計算機系統. 這意味著同樣的代碼可以被編譯為兩種系統的本地代碼而流暢運行.沒有象虛擬機和解釋器那樣的瓶頸,生成的代碼是一個最佳化過的可執行程式.外部庫是充分最佳化了的彙編程式,每個程式非常快,命令常常比C/C++還快或等同。
一款基於BASIC規則的程式語言。PureBASIC: 廣泛的可移植性
PureBASIC的顯著特色是它廣泛的可移植性。它可以在Windows, AmigaOS 和 Linux系統上流暢運行。由於支持了指針、結構、子程式和動態鍊表,有經驗的程式設計師可以毫不費力的訪問系統支持的任意結構和API。更離奇的是它居然支持行內彙編。
主要特色
- 支持486, Pentium (Pro, II, III) 以及更高,支持所有最新系統,支持微軟的Vista!
- 內嵌數組, 動態表, 複合體結構,指針,和變數定義
- 已支持類型: Byte (8 bits), Word (16 bits), Long (32 bits), Float (32 bits) 和用戶自定義類型(結構)
- 內建字元串類型(characters)
- 支持常量,二進制和十六進制的數值
- 常量和數字數據可寫在一個表達中
- 標準算術支持遵守符號優先和括弧: +, -, /, *, and, or, <<, >>
- 高速編譯器, 大約 300 000 行/分鐘在P200!
- 過程支持本地和全局變數結構編程
- 支持所有標準 BASIC 關鍵字: If-Else-EndIf, Repeat-Until, 等等
- 使用專用庫操縱 BMP 圖象, windows, gadgets, DirectX, 等等
- 使用專用用庫充分寫了支持最佳化速度和體積的彙編程式
- 象BASIC關鍵字一樣完全支持Win32 API
- 彙編程式內嵌
- 為快速編譯使用固定檔案預編譯結構
- 結構化 CLI編譯器
- 高效率,包括大量關鍵字,在線上幫助
- 支持XML,正則表達式,ftp ,http,.......
- 友好的系統,簡單而好用,安裝方便
變數
變數聲明
在PureBasic定義變數,只需鍵入其名稱。你還可以為該變數指定為你想要的類型。
變數不一定需要明確聲明,因為它們可以使用“變數類型傳播”(即默認類型)。
關鍵字Define可在一個聲明中定義多個變數。
例如:
a.b ;聲明一個a為位元組類型(.b)的變數。
c.l = a*d.w ;'d'是在聲明中的一個表達式!
註:變數名稱不能以數字開頭(0,1 ,...)並且不含有運算符(+,-,...)以及特殊字元(????...).
如果你在程式過程中不需要變數的值(如您使用的是固定值為ID的等等),
您也可以在用它作為常量使用。
基本類型
PureBasic允許定義變數類型。
其類型可以定義為標準的整數,浮點數,雙精數,單精數和位元組,甚至字元串。
以下是本語言支持的類型的列表和簡要說明:
數據類型 符號 大小 取值範圍
Byte .b 1 位元組 -128 to +127
Character .c 1 位元組 (ASCII) 0 to +255
Character .c 2 位元組 (UniCode) 0 to +65535
Word .w 2 位元組 -32768 to +32767
Long .l 4 位元組
Float .f 4 位元組 無限
Quad .q 8 位元組
Double .d 8 位元組 無限
String .s 串長度+1 無限
Fixed String .s{Length} 串長度 無限
無符號變數:除了字元類型(.c)(只在ASCII表中或Unicode的無符號字元類型)
因為PureBasic本身目前不支持無符號變數。但是,可以使用這個小技巧:
a.b = -64
Debug a & 255 ;結果為192
表示字元串的變數:可以使用"$"加在一個變數名的後面,來定義其為字元串類型。
你可以使用"a$"和'a.s'來定義字元串變數。請注意,如果使用'$'來定義,在任何地方者必須始終加上"$"。
用'.s'定義字元串變數就不同,只需要聲明一次。
a.s = "一個字元串"
a$ = "另一個字元串"
Debug a ; 結果為 "一個字元串"
Debug a$ ; 結果為 "另一個字元串"
註:浮點類型的數(floats + doubles)也可以寫成這樣:123.5e - 20
value.d = 123.5e - 20
Debug value ;結果為 0.000000000000000001235