AngelScript

AngelScript(全稱AngelCode Scripting Library)是由Andreas Jönsson開發的開源跨平台腳本庫,採用zlib協定免費使用,設計目標為擴展C 應用程式功能,尤其適用於遊戲引擎工業自動化領域。該庫自2003年啟動開發,持續更新至2025年,支持Windows、LinuxmacOS等作業系統,可通過靜態庫或動態連結方式集成至宿主程式。

其語法高度兼容C++,移除了指針並引入自動記憶體管理,支持面向對象、泛型編程及異常處理功能。通過RegisterGlobalFunction等API實現與C++代碼的無縫互動,允許直接調用原生函式且無需封裝層。內置JIT編譯器提升執行效率,支持現代C++標準特性如lambda表達式和智慧型指針。提供ASIDE專用IDE實現語法高亮、調試與跨平台項目管理,並通過預編譯技術最佳化運行性能。被《Unreal Engine 4》《戰地5》等遊戲採用,用於開發角色行為控制、網路通信及動態邏輯生成等場景。

基本介紹

  • 外文名:AngelScript
  • 定義:為擴展應用程式功能而開發的跨平台腳本庫
由來,定義特點,不足,例子,套用,

由來

它以易於應用程式開發者和腳本開發者使用為目標而設計。
AngelScript的開發者是Andreas Jönsson,2013年7月28日時的最新版本為2.27.0

定義特點

AngelScript最大的特點是允許直接調用C/C++的函式和方法,而不需要額外的包裝和轉換。應用程式只需要簡單的把C/C++實現的函式、對象(class)和方法註冊給腳本,就能在腳本裡面調用。
AngelScript的語法與C/C++保持一致,但有所增強,如沒有指針(C++中廣泛套用了指針),以及使用了自動記憶體管理功能(C++中大多數情況下需要自己管理記憶體)。此外,AngelScript的數據類型也和C/C++保持一致,這是AngelScript比其它腳本語言更容易與C/C++宿主程式集成的重要原因。
AngelScript支持JIT技術,擁有較高的運行效率。
AngelScript是完全免費的,並且基於zlib協定開源。

不足

AngelScript和C/C++一樣,是強類型靜態語言,對於非專業的開發者來說,使用時不如其它一些弱類型動態語言來得方便。

例子

AngelScript的HelloWorld:
void main()
{
print("Hello world\n");
}

套用

部分應用程式和遊戲引擎使用AngelScript作為內置的腳本語言。

相關詞條

熱門詞條

聯絡我們