Pascal的春天:Freepascal可开发WinCE/ARM-Linux程序

来源:互联网  作者:狂迷
摘要:今天无意中看到"FPC 2.2.0 以后的版本已经都可以支持WinCE应用程序了。" 眼球就被吸引过去了,心想:不是吧,Borland 高薪养着的工程师没搞定的事情让一群义工搞定了?点击网址跳转过去一看,吓着了:不光可以交叉编译多种CPU的…

今天无意中看到"FPC 2.2.0 以后的版本已经都可以支持WinCE应用程序了。" (2007年的火星新闻),眼球就被吸引过去了,心想:不是吧,Borland 高薪养着的工程师没搞定的事情让一群义工搞定了?点击网址跳转过去一看,吓着了:不光可以交叉编译多种CPU的程序,连 Sun 的跨平台遗愿也给实现了,而且还是编译成原生代码呢!
Lazarus 是 Freepascal 的图型界面 IDE, 使用 Freepascal 的编译器,界面和操作与 Delphi 几乎一样,而且有全中文界面(像小某这般的半文盲是何等的喜事呀!),可编译控制台程序和GUI程序。
看它的编译选项,挺吓人的:

可交叉编译以下CPU的程序: arm、i386、m68k、powerpc、sparc、x86_64,

可编译以下操作系统的程序:Linux、NetBSD、OpenBSD、Solaris、Win32、Win64、WinCE、go32v2、os2、beos、haiku、qnx、netware、wdosx、emx、watcom、netwlibc、amiga、atari、palmos、gba、nds、macos、morphos、embedded、symbian。

吓着了吧?连弱智鸭的赛笨(symbian)系统也支持,而且也支持 ARM 版的 Linux (应该是嵌入式 Linux 吧?),(见: http://www.freepascal.org/download.var http://wiki.freepascal.org/Setup_Cross_Compile_For_ARM ) 以后搞嵌入试系统开发也有希望了。

回头看看现在已支持WinCE操作系统:

Pocket PC 2002 – WinCE 3.0版
Pocket PC 2003 – WinCE 4.20版
Pocket PC 2003第二版 – WinCE 4.21版
Windows Mobile 5 – WinCE 5.0版
Windows Mobile 6 – WinCE 5.2版

RTL和FCL 的单元文件都能用在WinCE上面。

今天晚上试了同一套代码不作任何修改可分别编译出 CE for ARM 版本(1.8M)和 WIN32 for i386 版本(1.5M)的程序, 两个程序在各自的平台上都正常运行。并且 KOL 也移植到了 FreePascal (见:http://sourceforge.net/projects/kol-ce/ ),生成的目标程序将会更小。
(PS:东兰梦舞就用它写了个 Web服务器 For WinCE 程序才130KB,强!)

QQ群:
50275047 (嵌入式开发群)
55987291 (中有好几个人在用它开发 ARM 软件,东兰梦舞就用它写了个 Web服务器 For WinCE,据闻在运行很稳定。

最新的开发环镜下载网址:
http://snapshots.lazarus.shikami.org/lazarus/

安装非常简单,先安装:
Lazarus-0.9.27-19788-fpc-2.2.5-20090504-win32.exe

后安装:
Lazarus-0.9.27-19788-fpc-2.2.5-20090504-cross-arm-wince-win32.exe

文档:
http://wiki.freepascal.org/Lazarus_Documentation/zh_CN

设置 Windows CE 的编译参数:
http://wiki.lazarus.freepascal.org/Windows_CE_Interface/zh_TW#.E8.9E.A2.E5.B9.95.E6.88.AA.E5.9C.96

WinCE 开发笔记:
http://wiki.lazarus.freepascal.org/Windows_CE_Development_Notes/zh_TW

写了个小 Demo 分别编译为两个版本:

Project.for.CE.exe 66.5K
Project.for.win.exe 64.3K

都未经 UPX 压缩的!!!

【相关文章】好搜一下