Lazarus

(计算机学)

语音

编辑

锁定

讨论

上传视频

Lazarus的设计目标是应用Free Pascal,所以所有凡是Free Pascal能运行的平台,Lazarus都可以运行。最新版本能运行于Linux,Win32和Mac OS。整个界面的外观和操作和Delphi IDE一样,因此,如果你会使用Delphi的话,用起Lazarus IDE来就一定能得心应手了。

中文名

Lazarus

目    标

应用Free Pascal平    台

Lazarus

外观和操作

和Delphi IDE一样

Lazarus集成开发环境

编辑

语音

最新版lazarus0.9.30.4(3张)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。

Lazarus拉丁文

编辑

语音

Lazarus一词是Eleazar的拉丁文写法,本意是“神是我的帮助”,来源于圣经人物,是耶稣的朋友。Lazarus在死后第三天被耶稣从坟墓中唤醒复活(《圣经·约翰福音》第14章44节)。

词条图册

更多图册

计算机学开发,Lazarus相关推荐

  1. 计算机学研究生课程,厦门大学计算机学系研究生课程.doc

    厦门大学计算机学系研究生课程 厦门大学计算机科学系研究生课程 <> 主讲教师:林子雨 二零一年月 目录 一. Hive简介1 二. Hive安装1 三. Hive配置3 四. Hive的常 ...

  2. 新疆银行招聘计算机,新疆2017年银行招聘考试计算机学_计算机基础试题(19页)-原创力文档...

    .专业 .专注 . 新疆 2017 年银行招聘考试计算机学 :计算机基础试题 本卷共分为 1 大题 50 小题 ,作答时间为 180 分钟 ,总分 100 分 , 60 分及格 . 一 . 单项选择题 ...

  3. 测试学开发——第一课:java学习路程

    测试学开发--第一课:java学习路程

  4. 永济计算机培训,永济云计算培训,永济计算机培训学费,永济计算机学完工作好找吗 - IT教育频道...

    永济云计算培训 首页 > 计算机 > 永济云计算培训 作者:镀金池   发布时间:2019-11-15 贴一下自界说的BookAdapter,删除增加item的方式也写在了外面.议决状况代 ...

  5. 普林斯顿大学的计算机学课的作业

    普林斯顿大学的计算机学课的作业 Web Proxy Building a HTTP Proxy Frequently Asked Questions Download the testing scri ...

  6. 长春理工计算机研究生就业,计算机学专业长春理工大学在职研究生火热吗

    在职研究生项目主要就是通过相关的主干课程设计其课程的主线,并在相关的教学当中沿主线更新教学内容.突出在职研究生项目专业理论知识的前沿性.那么,在职人员报考长春理工大学在职研究生项目中的计算机学专业,这 ...

  7. java计算机毕业设计开发的校园情感网站源程序+mysql+系统+lw文档+远程调试

    java计算机毕业设计开发的校园情感网站源程序+mysql+系统+lw文档+远程调试 java计算机毕业设计开发的校园情感网站源程序+mysql+系统+lw文档+远程调试 本源码技术栈: 项目架构:B ...

  8. 程序员的1024|我学开发第二年|专心练剑

    为此文章定调为专心练剑,是前些日看张艺谋电影<英雄>的影响,故事在开篇便讲:"人若无名,便可专心练剑." 人若无名,便可专心练剑:人若有名,便无心练剑.我们俱不是影片中 ...

  9. 认识计算机系统学反思,认识计算机学设计及反思.doc

    认识计算机学设计及反思 <认识计算机>教学设计及反思 晋中市和顺县串村寄宿制学校 李朝磊 一.教学目标 知识与技能 1.了解计算机硬件和软件的概念及其关系 2.了解计算机硬件的各个组成部份 ...

最新文章

  1. springboot RestTemplate httpclient
  2. 理解 Delphi 的类(十一) - 深入类中的方法[3] - 方法在实现时的参数省略
  3. 【Git+Docker】Docker初期学习认识和安装配置详解
  4. 浅谈阿里云混合云的探索与实践
  5. keil C 51 strlen库函数使用
  6. 互联网java常用框架_来,带你鸟瞰 Java 中4款常用的并发框架!
  7. 求1-100的所有数的和
  8. CentOS 7 SSH相关使用问题及其解决办法
  9. 暮色森林模组_《我的世界》暮色森林VS天启之境 到底谁才是冒险模组一哥
  10. 响应式微服务 in java 译 十二 service discovery
  11. matlab分析具体问题论文,matlab论文12010245327马文建.doc
  12. 物联网数据分发利器DPS
  13. NumPy库---二元函数
  14. 【常识】户型图要怎么看?买房时销售员不会说的注意事项
  15. 用Python看穿马赛克!
  16. 2018云南-华为软件产业峰会成功举办 加快构建数字中国
  17. 给广大在电脑前工作的同胞们的一点健康建议
  18. 7. 调度问题schedule
  19. c加加语言链表的交换,C加加课程设计.doc
  20. 深度神经网络的深度是?,深度神经网络通俗理解

热门文章

  1. 朱松纯访谈录:初探计算机视觉的三个源头人工智能
  2. 拉普拉斯(laplacian)滤波实现图像锐化分析(负值处理方法)
  3. Allegro中尺寸标注显示小数点后位数
  4. K8S,k3s 分布式存储:rook-ceph or Longhorn
  5. 用python将excel表格中b列列名改为c
  6. 个人开发者,APP一样可以有很精致的Icon图片
  7. BIM模型文件下载——某公司办公综合楼项目案例模型
  8. 病理学技术师题库(含答案)
  9. 【DTCC 2016】专家访谈:盖国强谈 DT 时代商业行为变化
  10. 社工库最新免费机器人分享