當前位置:編程學習大全網 - 編程語言 - Lazarus的集成開發環境

Lazarus的集成開發環境

Lazarus是壹個用於FreePascal的快速應用開發(RAD)的面向對象的FreePascal集成開發環境(IDE),不僅可以編譯運行簡單的pascal程序,還有很強的窗體處理功能,界面清晰,操作簡單方便。Lazarus 對於窗口管理來說是中性的。可以工作在KDE(1.13版本)下,也可以工作在GNOME(1.23版本)或其他窗口管理器(MVM、WindowMaker)。Lazarus的設計目標是應用Free Pascal,所以所有凡是Free Pascal能運行的平臺,Lazarus也可以運行。最新版本能運行於Linux,Mac OS,Win9x/2000/xp/win7/Win8和FreeBSD。目前,已提供32位和64位版本支持。Lazarus的工作界面、外觀和操作和Borland 的Delphi 7 IDE非常相似,所不同的是Lazarus 是完全的自由軟件。Lazarus 可以直接移植Delphi的代碼。Lazarus的編程語言是以Pascal為基礎的。Pascal語言具有可讀性好、編寫容易的特點,這使得它很適合作為基礎的開發語言。同時,使用編譯器創建的應用程序只生成單個可執行文件(.EXE,默認編譯加入了調試信息,只包含壹個空窗體的工程生成的可執行文件就達到了10多M。但可以通過編譯選項去掉調試信息來減小可執行文件的大小,可以減為1M多點,然後通過UPX壓縮,可以減為600多K。)。正是這種結合,使得Pascal成為Lazarus這種先進開發環境的編程語言。

由於Lazarus為開放的IDE,且在linux下表現良好,目前被中國計算機學會指定為NOI系列競賽的Pascal語言推薦IDE。

在Linux中,Lazarus的圖形用戶接口(GUI) 由以下幾個部分組成:

窗口系統--組織顯示屏上的圖形輸出並執行基本的文本和繪圖功能。

窗口管理器--負責對窗口的操作(比如最小化、最大化、關閉按鈕的形狀,窗口邊框外觀等)以及輸入焦點的管理。

工具包--帶有明確定義的編程界面的常規庫。

Lazarus對系統軟件、硬件要求都不高:

硬件方面:Intel Pentium 200MHz、32MB內存、100MB硬盤空間。

軟件方面:內核(Kernel)在2.2以上,Qt庫1.44 以上,XFree86 3.6 以上。

壹個跨平臺編譯器的感人史

歷史

Lazarus是從1999年2月開始的,成立時的主要成員是這三個人:

Cliff Baeseman

Shane Miller

Michael A. Hess

當時,他們三個曾經為之努力的megido計劃(megido計劃致力於打造壹個開源、跨平臺、可視化的Object Pascal快速應用開發環境)由於種種原因被解散。在挫折面前他們並不氣餒,決定發起Lazarus計劃。在隨後的幾年中,這個計劃得到了穩步發展,引 起很多人的關註並擁有了壹群穩定的支持者和開發者。遺憾的是,上述三個創始人中,只有Michael A. Hess仍在參與這項計劃。

開發組中另壹個元老是Marc Weustink,他在1999年8月就參與這個項目。在他之後的是2000年9月加入的Mattias Gaertner,他們兩人壹直是核心代碼的主要編寫者,是他們的***同努力讓Lazarus變得成熟。

那麽究竟什麽是Lazarus?

Lazarus是壹個基於Free Pascal的Delphi仿制品。Free Pascal是Linux、Win32、WinCE、Mac OS、OS/2、68K等操作系統下的壹個基於GPL/LGPL的編譯器,她被設計成可以理解,並編譯OOP的Delphi語法。Lazarus在上述平臺下可以像 Delphi壹樣來開發程序,打破了這些環境下缺少可視化開發工具的困窘局面。不像Java致力於“壹次編寫,到處運行”,Lazarus和Free Pascal則致力於“壹次編寫,到處編譯”。由於對上述所有平臺有完全相同的編譯器,這意味著妳不需要重新編碼,就可以為不同的平臺開發相同的產品。 Java基於虛擬機,Lazarus則產生原生代碼,所以Lazarus的應用程序在效率上應該比用Java的程序更快壹些。

Lazarus的GUI是什麽?該用什麽樣的窗口部件(widget)?

這個部分由妳來決定,Lazarus正在開發的是完全徹底獨立的的API。壹旦妳寫的代碼想要連接到不同於以前選擇的窗口部件,如果妳想使用基於 GTK+,當然沒有問題,如果妳現在又想讓它成為與GNOME兼容,同樣沒有問題,只要把界面代碼的窗口部件設置成妳想使用的那壹種,您可以編譯連接成那 種窗口部件了。如果那種窗口部件還沒有內置支持,妳也可以寫上壹個(呵呵,老大的話好像換個widget很容易,不過相信真要寫的話就沒有那麽容易了)。

舉例來說,妳正在創建的是壹個使用標準Windows窗口部件的Windows應用程序,現在妳又想為它建立壹個面向Linux的版本。首先確定妳 想使用的窗口部件類型,讓我們假設妳想使用基於GTK+的,妳可以復制代碼到妳的Linux開發機,編譯,連接時對應選擇GTK+接口單元。就是這麽簡 單。妳現在創建了壹個Windows產品的Linux副本,而沒有任何額外的編碼。

在這壹點上,開發人員正在使用Gtk+作默認窗口部件。同時,他們也在做基於Qt和Win32API的窗口部件支持,在編譯選項的窗口部件類型下拉 列表中,已經出現的還有Win CE、Carborn、fpGUI,用Pascal語言壹次編碼,就能編譯出能在各種系統下運行的的應用程序,真是讓人激動啊!即將發布的Lazarus 1.0允許開發人員配合LCL(Lazarus組件庫)為其他的窗口部件創造接口單元。

所以這就意味著她像Delphi壹樣可以RAD

事情真的就是那樣,她完全完成了嗎?還沒有。窗體設計部分還需要大量的工作,IDE則是功能完整的,可以滿足絕大多數代碼編寫需要(已經比Delphi7 更加智能,當然,還是不能與Delphi7+CnWizards的組合相比,如果CnWizards能支持Lazarus就太好了)。提示壹下,還有好幾個方面的項目仍然需要幫助,也許妳就可以幫上壹把。

我是否可以使用現有的Delphi的代碼? 如果代碼是標準的Delphi Pascal並且采用Delphi的標準組件,那麽答案是肯定的。如果它使用壹些特定的database、OCX、或DCU那麽答案將是否定的。這些特定 的Windows應用只能在Windows下工作,但是如果妳只期望使用Free Pascal和Lazarus創建壹個Windows產品那麽答案將是肯定的(用了太多的Win32API,想轉換到Linux就比較麻煩了,以前很炫很 酷的技巧,現在到變成了負擔,呵呵)。這種情況並沒有被目前的lcl過多考慮 ,但是對它的處理在未來則很有可能(應該說肯定,畢竟將現有的Windows應用程序直接跨平臺編譯是很多人的期望,雖然實現起來有難度,但是既然 ReactOS都能出現,又有什麽是不可能的呢?)。

我是否可以用她創建商業產品?

是的!Free Pascal編譯器是基於GPL/LGPL許可協議的,這意味著它是開源的,免費的,如果妳有需要,還可以修改其代碼,當然,妳壹定要發布這些改變,當有人想使用妳的改動時,妳有義務提供那些改變後的源代碼。

Lazarus的名號是怎麽來的?

原來的項目叫Megido(嘗試建立跨平臺的Delphi克隆),但是這個努力失敗了,眾所周知,Lazarus是聖經中的人物,他死後由基督拯救,死而復活,所以,項目取名Lazarus,因為她的出現拯救了Megido。

  • 上一篇:壹個班多少人壹個班有多少人?
  • 下一篇:有必要讓孩子學習少兒編程嗎
  • copyright 2024編程學習大全網