龙芯开源社区

 找回密码
 注册新用户(newuser)
查看: 4805|回复: 11

Free Pascal使用心得

[复制链接]
发表于 2014-4-30 12:52:22 | 显示全部楼层 |阅读模式
Pascal 语言是信息学奥林匹克竞赛指定的语言之一。
Free Pascal已经被全国青少年信息学奥林匹克联赛(NOIP)和全国青少年信息学奥林匹克竞赛(NOI)以及国际信息学奥林匹克(IOI)选定为指定的Pascal编译环境。

Free Pascal(FPC)通常的安装方式是下载二进制安装包。
比如,Windows系统下是(以FPC 2.6.2为例)fpc-2.6.2.i386-win32.exe。但安装包的大小达到40MB。装起来也占很多的磁盘空间,实际上奥赛和平常的学习只需要安装一个很小的编译环境就可以了。所以,我试验了一下,能运行hello.pas的运行编译环境只要这几个文件就可以了:
fp.exe(集成的FPC开发环境,仅fp.exe一个文件,就包括了编译器,连接器和debug,功能几乎和著名的turbo.exe完全一样)

自建一个小的编译环境的步骤如下:(以后可以做一个打包好的zip文件)
先下载完全安装包,安装好后,可以看一下,完全安装后,大约占用了180MB的空间,包括了很多平常写练习程序不需要的很多程序和文件。

1.
找到完全版FPC安装好的目录下的子目录:(比如c:\fpc\2.6.2\bin\i386-win32)

2.
再建个空目录,比如,换到E盘,鼠标右键新建E:\FPC262,用于安装自己订制的小的编译环境

3.
把完全版FPC安装目录c:\fpc\2.6.2\bin\win32下的fp.exe拷到E:\FPC262下。

4.
用鼠标右键菜单,点“新建---〉快捷方式”在E:\FPC262下建立一个快捷方式,取个名,比如fp.exe.fp
设定fp.exe.fp快捷方式的属性,
目标那里是E:\FPC262\fp.exe
起始位置是E:\FPC262
选项那里是代码页选 437 oem 美国


5.
点快捷方式fp.exe.fp

6.
fp.exe在新目录首次执行时会出一个窗口:

The Free Pascal IDE was never started in this directory before. Do you want to create a new config file in this directory?

点yes

再出现一个窗口:
Do you want to copy the existing configuration or create a new one from scratch?

点create new

退出FP.EXE后,目录下出现
fp.cfg
fp.dsk

再从完全安装目录c:\fpc\2.6.2\units\i386-win32\rtl下,拷贝
system.ppu
system.o
fpintres.ppu
fpintres.o
systeminitpas.ppu
systeminitpas.o
这六个文件到E:\FPC262


加上fp.exe,全部文件也就8MB多一点。

试验一下:
进入fp.exe
菜单file点new

输入
program hello;
begin
  writeln('Hello!');
end.

菜单file点save as
hello.pas

菜单点Compile->compile
编译通过后就可以点菜单Run

看输出结果可以看Debug-->User Screen

看输出结果的另一个方法是再打开c:>一个命令提示符窗口,在这个窗口运行hello.exe:

e:
cd fpc262
dir
hello
 楼主| 发表于 2014-4-30 13:14:31 | 显示全部楼层
要支持debug,还需要这些文件:
exeinfo.ppu
exeinfo.o
lineinfo.ppu
lineinfo.o
strings.ppu
strings.o
windows.ppu
windows.o
objpas.ppu
objpas.o
 楼主| 发表于 2014-4-30 15:30:05 | 显示全部楼层
刚去www.noi.cn网站查了一下,发现本人说的是以前的奥赛的FPC要求了。
现在的竞赛环境是:
noi-linux1.3.2.iso

里面的FPC的要求是:


系统软件
NOI Linux 1.3
内核-2.6.35
操作系统
开机自动启动
编译器
GCC 4.4.5
C编译器
终端运行,命令行:
gcc test.c -o test
G++ 4.4.5
C++编译器
终端运行,命令行:
g++ test.cpp -o test
FPC 2.4.0
Pascal编译器
终端运行,命令行:
fpc test.pas
调试器
GDB 6.8
命令行调试器
终端运行,命令行:gdb
DDD 3.3.12
命令行调试器
终端运行,命令行:ddd
集成开发环境
GUIDE 1.0.1
单文件程序IDE
(C/C++/Pascal)
鼠标点击启动:
应用程序→编程→GUIDE
Anjuta 2.30.1.0
C/C++ IDE
鼠标点击启动:
应用程序→编程→Anjuta IDE
Lazarus 0.9.28.2
Pascal IDE
鼠标点击启动:
应用程序→编程→Lazarus

简单说,和free pascal有关的就是在Linux下使用Lazarus+fpc
======
本主贴第一楼关于集成开发环境fp.exe的设置,只能作为练习或写简单程序的使用环境了。
作为和fpc有关的技能,做个参考吧。比用bp.exe(Borland Pascal 7.0)要好一些吧,fpc可是32位的编译器。
 楼主| 发表于 2014-4-30 21:10:42 | 显示全部楼层
本帖最后由 cb001 于 2014-4-30 21:50 编辑

本月的一条消息让我再次关注起了Pascal:
http://www.fpccn.com/thread-3428-1-1.html
======
delphicn
发表于 2014-4-17 23:18:20 |只看该作者 |倒序浏览
恭喜FreePascal获得SourceForge.net四月社区推荐工程 [复制链接]

今日打开SourceForge.net首页,见如图:

甚感欣喜,FreePascal获得了开源社区的认可和推荐!小弟急忙与各位分享,具体可看SF.net 对FPC创始人Florian Klaempfl的采访:
http://sourceforge.net/blog/apri ... -month-free-pascal/

以下连接是FPC官网的的帖子:http://forum.lazarus.freepascal. ... 1efa3dd0d6d246538e6
 楼主| 发表于 2014-4-30 21:29:17 | 显示全部楼层
以前还看到过一句话,好象是Florian Klaempfl谈到Free Pascal的时候,引用甘地的语录:

First they ignore you. Then they laugh at you. Then they fight you. Then you win.
他们先是无视你,再来是嘲笑你,接着他们与你战斗,最后你赢了。

我以前在使用Free Pascal的时候,觉得fpc没有从Turbo Pascal 4.0开始的smart linker,Free Pascal就不能和Turbo Pascal比,这样的fpc只是一个C编译器的连接水平,连接时,速度慢,生成的可执行文件大。
而现在Free Pascal实现了smart linker,在技术水平上赶上了Turbo Pascal。
而多平台支持,加上不断稳定和完善的各种库,编译器与库的bug越来越少,现在可以放心使用fpc了。

Lazarus中文社区
http://www.fpccn.com/forum.php
值得常去。
 楼主| 发表于 2014-4-30 21:29:21 | 显示全部楼层
以前还看到过一句话,好象是Florian Klaempfl谈到Free Pascal的时候,引用甘地的语录:

First they ignore you. Then they laugh at you. Then they fight you. Then you win.
他们先是无视你,再来是嘲笑你,接着他们与你战斗,最后你赢了。

我以前在使用Free Pascal的时候,觉得fpc没有从Turbo Pascal 4.0开始的smart linker,Free Pascal就不能和Turbo Pascal比,这样的fpc只是一个C编译器的连接水平,连接时,速度慢,生成的可执行文件大。
而现在Free Pascal实现了smart linker,在技术水平上赶上了Turbo Pascal。
而多平台支持,加上不断稳定和完善的各种库,编译器与库的bug越来越少,现在可以放心使用fpc了。

Lazarus中文社区
http://www.fpccn.com/forum.php
值得常去。
 楼主| 发表于 2014-4-30 21:38:29 | 显示全部楼层
Pascal帖吧
http://tieba.baidu.com/f?kw=pascal

想用Free Pascal写游戏,可看这个:
【游戏】bestgomoku世界上最强的五子棋软件(纯Pascal编写) ax_pokl
http://tieba.baidu.com/p/3008049827
 楼主| 发表于 2014-4-30 21:38:35 | 显示全部楼层
Pascal帖吧
http://tieba.baidu.com/f?kw=pascal

想用Free Pascal写游戏,可看这个:
【游戏】bestgomoku世界上最强的五子棋软件(纯Pascal编写) ax_pokl
http://tieba.baidu.com/p/3008049827
 楼主| 发表于 2014-4-30 21:46:17 | 显示全部楼层
这里有个视频:
FreePascal乱码解决方法
http://tieba.baidu.com/shipin/bw ... 2f693464c455101b55e
 楼主| 发表于 2014-4-30 21:46:21 | 显示全部楼层
这里有个视频:
FreePascal乱码解决方法
http://tieba.baidu.com/shipin/bw ... 2f693464c455101b55e

本版积分规则

小黑屋|手机版|Archiver|Lemote Inc.  

GMT+8, 2019-3-23 10:10 , Processed in 0.193363 second(s), 17 queries .

快速回复 返回顶部 返回列表