GNU lightning
跳至導覽
跳至搜尋
| File:Heckert GNU white.svg | |
| 開發者 | GNU計劃 |
|---|---|
| 首次釋出 | 2001年1月19日[1] |
| 目前版本 | |
| 原始碼庫 |
|
| 引擎 | |
| 作業系統 | 跨平台 |
| 平台 | GNU |
| 類型 | 即時編譯 |
| 特許條款 | GNU通用公眾特許條款、GNU較寬鬆公共許可證 |
| 網站 | 官方網站 |
GNU lightning是在執行時生成匯編語言代碼的自由軟件庫。版本2.0發行於2013年8月,支援的後端包括:x86(32-bit和64-bit)、ARM、MIPS、PowerPC(32-bit)、IA-64、SPARC(32-bit)和PA-RISC[2]。
相較其他庫的優點[編輯]
GNU提供的特徵使它可用於即時編譯。相較於LLVM或libJIT這樣的庫,GNU lightning只提供低層組譯介面,把寬鬆的基於SPARC和MIPS架構的一種標準化RISC匯編語言[3],編譯成目標架構的機器語言。
缺點[編輯]
指令集[編輯]
GNU lightning的指令集鬆散的基於了現存的RISC架構。
類型[編輯]
所需的指令處理如下9種類型的數據:
| 類型 | C等價 |
|---|---|
| c | signed char |
| uc | unsigned char |
| s | short |
| us | unsigned short |
| i | int |
| ui | unsigned int |
| l | long |
| f | float |
| d | double |
使用GNU lightning的專案[編輯]
Racket[4],GNU Smalltalk[5],GNU Guile[6]和CLISP[7]使用GNU lightning進行即時編譯。GNU lightning最初開發用於GNU Smalltalk的從位元組碼到本地代碼的動態轉換器的工具[8]。
參照[編輯]
- ^ ChangeLog. GNU Project. [2009-02-22]. (原始內容存檔於2021-01-31).
- ^ Release announcement. 2013-08-23. [2019-05-28]. (原始內容存檔於2019-09-20).
- ^ Using and porting GNU lightning. [2009-02-22]. (原始內容存檔於2020-11-11).
- ^ Racket source code repository. [2014-05-17]. (原始內容存檔於2019-10-16).
- ^ GNU Smalltalk project page. [2014-05-17]. (原始內容存檔於2014-04-21).
- ^ Just-In-Time Native Code. [2019-03-11]. (原始內容存檔於2020-05-13).
- ^ Implementation notes for GNU CLISP. [2009-02-23]. (原始內容存檔於2001-12-01).
- ^ GNU lightning user manual, acknowledgements. [2014-05-17]. (原始內容存檔於2020-11-11).
外部連結[編輯]
- GNU lightning (頁面存檔備份,存於互聯網檔案館)在自由軟件目錄上