计算机学开发,Lazarus
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相关推荐
- 计算机学研究生课程,厦门大学计算机学系研究生课程.doc
厦门大学计算机学系研究生课程 厦门大学计算机科学系研究生课程 <> 主讲教师:林子雨 二零一年月 目录 一. Hive简介1 二. Hive安装1 三. Hive配置3 四. Hive的常 ...
- 新疆银行招聘计算机,新疆2017年银行招聘考试计算机学_计算机基础试题(19页)-原创力文档...
.专业 .专注 . 新疆 2017 年银行招聘考试计算机学 :计算机基础试题 本卷共分为 1 大题 50 小题 ,作答时间为 180 分钟 ,总分 100 分 , 60 分及格 . 一 . 单项选择题 ...
- 测试学开发——第一课:java学习路程
测试学开发--第一课:java学习路程
- 永济计算机培训,永济云计算培训,永济计算机培训学费,永济计算机学完工作好找吗 - IT教育频道...
永济云计算培训 首页 > 计算机 > 永济云计算培训 作者:镀金池 发布时间:2019-11-15 贴一下自界说的BookAdapter,删除增加item的方式也写在了外面.议决状况代 ...
- 普林斯顿大学的计算机学课的作业
普林斯顿大学的计算机学课的作业 Web Proxy Building a HTTP Proxy Frequently Asked Questions Download the testing scri ...
- 长春理工计算机研究生就业,计算机学专业长春理工大学在职研究生火热吗
在职研究生项目主要就是通过相关的主干课程设计其课程的主线,并在相关的教学当中沿主线更新教学内容.突出在职研究生项目专业理论知识的前沿性.那么,在职人员报考长春理工大学在职研究生项目中的计算机学专业,这 ...
- java计算机毕业设计开发的校园情感网站源程序+mysql+系统+lw文档+远程调试
java计算机毕业设计开发的校园情感网站源程序+mysql+系统+lw文档+远程调试 java计算机毕业设计开发的校园情感网站源程序+mysql+系统+lw文档+远程调试 本源码技术栈: 项目架构:B ...
- 程序员的1024|我学开发第二年|专心练剑
为此文章定调为专心练剑,是前些日看张艺谋电影<英雄>的影响,故事在开篇便讲:"人若无名,便可专心练剑." 人若无名,便可专心练剑:人若有名,便无心练剑.我们俱不是影片中 ...
- 认识计算机系统学反思,认识计算机学设计及反思.doc
认识计算机学设计及反思 <认识计算机>教学设计及反思 晋中市和顺县串村寄宿制学校 李朝磊 一.教学目标 知识与技能 1.了解计算机硬件和软件的概念及其关系 2.了解计算机硬件的各个组成部份 ...
最新文章
- springboot RestTemplate httpclient
- 理解 Delphi 的类(十一) - 深入类中的方法[3] - 方法在实现时的参数省略
- 【Git+Docker】Docker初期学习认识和安装配置详解
- 浅谈阿里云混合云的探索与实践
- keil C 51 strlen库函数使用
- 互联网java常用框架_来,带你鸟瞰 Java 中4款常用的并发框架!
- 求1-100的所有数的和
- CentOS 7 SSH相关使用问题及其解决办法
- 暮色森林模组_《我的世界》暮色森林VS天启之境 到底谁才是冒险模组一哥
- 响应式微服务 in java 译 十二 service discovery
- matlab分析具体问题论文,matlab论文12010245327马文建.doc
- 物联网数据分发利器DPS
- NumPy库---二元函数
- 【常识】户型图要怎么看?买房时销售员不会说的注意事项
- 用Python看穿马赛克!
- 2018云南-华为软件产业峰会成功举办 加快构建数字中国
- 给广大在电脑前工作的同胞们的一点健康建议
- 7. 调度问题schedule
- c加加语言链表的交换,C加加课程设计.doc
- 深度神经网络的深度是?,深度神经网络通俗理解