事不过三是什么意思| 万中无一什么意思| 吃什么能降胆固醇| 相性是什么意思| 梦见把头发剪短了是什么意思| 凉皮是用什么做的| 提拉米苏是什么意思| 2月6号是什么星座| 郑恺的父母是做什么的| 为什么纯牛奶容易爆痘| 什么不足| 高血压2级是什么意思| 苹可以组什么词| 王妃是什么意思| 矿泉水敷脸有什么作用| 益生菌什么时间段吃效果好| 轻度高血压吃什么食物可以降压| 例假量少是什么原因| 生快是什么意思| 脾虚吃什么药效果最好| 官杀是什么| 洋葱有什么功效与作用| 沈殿霞为什么地位高| 嘴涩是什么原因造成的| 无话不谈是什么意思| 海东青是什么鸟| 扫把星代表什么生肖| 用字五行属什么| 胃溃疡吃什么药好| 怀孕分泌物是什么样的| 丙五行属什么| 痔疮手术后可以吃什么水果| 血糖吃什么水果| 低血钾是什么原因引起的| 得了性疾病有什么症状| 胃炎能吃什么| 小孩吃牛肉有什么好处| 滚刀肉是什么意思| 通字五行属什么| 梦见奶奶去世预示什么| 什么时候用得| 装腔作势是什么意思| 糖类抗原153偏高是什么原因| 止盈什么意思| 不是什么而是什么造句| 知我者非你也什么意思| 什么牌子的沐浴露好| 贵字五行属什么| 青瓜是什么| 果五行属什么| 老舍的原名叫什么| 69是什么| 风湿是什么原因引起的| 吃什么药死的快| 潘驴邓小闲什么意思| 什么是制片人| 尿隐血3十是什么病| 急性肠胃炎可以吃什么| 女儿的女儿叫什么| ssr是什么| 吃猪血有什么好处和坏处| 五官端正是什么意思| 巨石强森是什么人种| 嘴角流口水是什么原因| 牛骨煲汤搭配什么最好| 痛风病人吃什么菜| 什么山| 电子商务有限公司是做什么的| 预防脑梗用什么药效果好| 神经性皮炎用什么药膏效果最好| 包皮什么年龄割最好| 焦作有什么大学| 是什么为什么怎么办| 内痔疮有什么症状| 梦到老虎是什么意思| 性生活是什么意思| 查肾挂什么科| 发烧喝什么饮料比较好| 两个月没有来月经了是什么原因| 虢是什么意思| uspa是什么牌子| 酒后吐吃什么可以缓解| 女人后脑勺出汗多是什么原因| 肾小球滤过率偏高说明什么| 曷是什么意思| 尿酸高能喝什么酒| 不老实是什么意思| k开头的是什么车| 牙冠是什么意思| 什么颜色的床单有助于睡眠| 食指长痣代表什么| 漪字五行属什么| 7月1号是什么节日| 爱豆是什么| 什么原因导致有幽门杆菌| 小孩反复高烧是什么原因| 活好的女人有什么表现| 蔗糖是什么糖| 龙日冲狗煞南是什么意思| 车厘子与樱桃有什么区别| 送哥们什么礼物好| 透亮是什么意思| 结节钙化是什么意思| 三点水加个有字念什么| 活动无耐力与什么有关| 虫草吃了有什么好处| 火把节是什么时候| 乳腺彩超什么时候做最准确| 叶凡为什么找石昊求救| 王妃是什么意思| 泉中水命是什么意思| 4月23日是什么日子| 淋巴结肿大是什么样子的| 乳腺癌吃什么水果好| 开心水是什么| 什么品牌的书包质量好| 验孕棒什么时候用| 查输卵管是否堵塞要做什么检查| 什么水| 唇炎去医院挂什么科| 载脂蛋白a1偏高是什么原因| 舍本逐末是什么意思| 小麦和大麦有什么区别| 蜻蜓为什么点水| 16588a是什么尺码女装| 脑硬化是什么病严重吗| 93年属什么今年多大| 嫦娥是什么生肖| 浮现是什么意思| maxco是什么牌子| 梦见好多南瓜是什么意思| 灰指甲什么症状| 印鉴是什么意思| 什么什么的草地| 6月23号什么星座| 脉络膜裂囊肿是什么病| 静脉炎的症状是什么| 肩膀疼挂什么科| 非赘生性囊肿什么意思| 颧骨长斑是什么原因| 兵痞是什么意思| 结核杆菌dna检测是检查什么| 厌氧菌是什么意思| 高中什么时候分文理科| 为什么一饿就胃疼| 马英九属什么| 拉绿色的屎是什么原因| 青年补钙吃什么好| 一个金字旁一个各念什么| 什么不平| 复光是什么意思| 三个鬼念什么| 黑糖和红糖有什么区别| 91网站是什么| 塞翁失马什么意思| 什么卫什么海| 第一次是什么意思| 龚自珍是什么朝代的| 小便失禁是什么原因男性| 什么叫做原发性高血压| 女人梦见狼是什么预兆| 月亮杯是什么东西| 梦见自己吐血是什么征兆| 游丝是什么意思| 堪称什么意思| 我炸了是什么意思| 政治庇护是什么意思| 豆汁是什么| 伸筋草主治什么病| 为什么会得脂溢性皮炎| 湿疹为什么要查肝功能| 3月15是什么星座| bg是什么意思| 牛冲什么生肖| 常喝三七粉有什么好处| 中性粒细胞百分比低是什么原因| 为什么当警察| 猪心炖什么好吃又营养| 什么是钓鱼执法| 靛青色是什么颜色| 青头鸭和什么煲汤最好| 籺是什么意思| 撒丫子是什么意思| 抗核抗体是检查什么病| 避免是什么意思| 魏大勋和李沁什么关系| 知识渊博是什么意思| 什么地躺着| 什么是奢侈品| 世界上最毒的蛇是什么蛇| 什么东西天气越热它爬得越高| 撬墙角是什么意思| 子宫小结节是什么意思| 检查脑袋应该挂什么科| 什么东西掉进水里不会湿| 老是出汗是什么原因| 每天早上起来口苦是什么原因| 尿泡沫多吃什么药| 胎儿fl是什么意思| 什么情况啊这是| 黄精有什么功效| 副校长是什么级别| 早谢是什么症状| 腋下疣是什么原因造成的| 林冲属于什么生肖| 壮的偏旁叫什么名字| 待业什么意思| 石斛主治什么| oem贴牌是什么意思| 皮肤发痒是什么原因| 刺青是什么| 招风耳适合什么发型| 头发长得快是什么原因| 脸无缘无故的肿是什么原因| 肾五行属什么| 觉悟高是什么意思| cj是什么意思| 糖化血红蛋白高是什么原因| 日成念什么| 羊猄皮是什么皮| 脚发胀是什么前兆| 女生被口是什么感觉| 杜建英是宗庆后什么人| 何妨是什么意思| 脚扭伤挂什么科| 胸闷喘不上气什么原因| 天灵盖是什么意思| 长期喝蜂蜜水有什么好处| gucci是什么意思| 肾造瘘是什么意思| 早泄要吃什么药| 左氧氟沙星是什么药| times什么意思| 灌肤是什么意思| 蝉联是什么意思| 口臭睡觉流口水什么原因| 低密度脂蛋白胆固醇偏高是什么意思| 漠河什么时候可以看到极光| 火拼是什么意思| 脂蛋白a是什么| 刚怀孕吃什么最好最营养| 婴儿黄疸高有什么影响| 产后42天复查挂什么科| 夫人是什么生肖| angelababy是什么意思| 看胸部挂什么科| 蓝帽子标志是什么意思| 胸疼挂什么科室| 质子泵抑制剂是什么药| 副处是什么级别| 什么叫副乳| 什么是高情商| 吉加页读什么| 在什么之前的英文| 脚冰凉是什么原因| 沐雨栉风是什么生肖| 蛇缠腰用什么药| 十月7号是什么星座| 冰袋里面装的是什么| lof什么意思| 一夜白头是什么原因| 6.17什么星座| 元宵节有什么活动| 西瓜禁忌和什么一起吃| 百度Jump to content

网贷竞跑合规备案 “网贷+保险”渐成行业风向标

From Wikipedia, the free encyclopedia
百度 岁末福利,先到先得哦!【获奖规则】成绩结果请截屏发送至凤凰网国学公众号后台,我们将按成绩(用时越少越佳)靠前者依序发放奖品。

Free Pascal
Developer(s)Florian Kl?mpfl & volunteers
Initial release1997; 28 years ago (1997)
Stable release
3.2.2 / May 20, 2021; 4 years ago (2025-08-14)
Preview release
3.3.1
Repository
Written inObject Pascal
Operating systemCross-platform, embedded
TypeCompiler, embedded operating system
LicenseGNU General Public License for compiler and utility executables. GNU Lesser General Public License with static linking exception for runtime, package, component and other libraries that become part of executables created with compiler
Websitefreepascal.org Edit this on Wikidata

Free Pascal Compiler (FPC) is a compiler for the closely related programming-language dialects Pascal and Object Pascal. It is free software released under the GNU General Public License, with exception clauses that allow static linking against its runtime libraries and packages for any purpose in combination with any other software license.

It supports its own Object Pascal dialect, as well as the dialects of several other Pascal family compilers to a certain extent, including those of Borland Pascal (named "Turbo Pascal" until the 1990 version 6), Borland (later Embarcadero) Delphi, and some historical Macintosh compilers. The dialect is selected on a per-unit (module) basis, and more than one dialect can be used per program.

It follows a write once, compile anywhere philosophy and is available for many CPU architectures and operating systems (see Targets). It supports inline assembly language and includes an internal assembler capable of parsing several dialects such as AT&T and Intel style.

There are separate projects to facilitate developing cross-platform graphical user interface (GUI) applications, the most prominent one being the Lazarus integrated development environment (IDE).

Supported dialects

[edit]

Initially, Free Pascal adopted the de facto standard dialect of Pascal programmers, Borland Pascal, but later adopted Delphi's Object Pascal. From version 2.0 on, Delphi compatibility has been continuously implemented or improved.

The project has a compilation mode concept, and the developers made it clear that they would incorporate working patches for the standardized dialects of the American National Standards Institute (ANSI) and International Organization for Standardization (ISO) to create a standards-compliant mode.

A small effort has been made to support some of the Apple Pascal syntax to ease interfacing to the Classic Mac OS and macOS. The Apple dialect implements some standard Pascal features that Turbo Pascal and Delphi omit.

The 2.2.x release series did not significantly change the dialect objectives beyond roughly Delphi 7 level syntax, instead aiming for closer compatibility. A notable exception to this was the addition of support for generics to Free Pascal in version 2.2.0, several years before they were supported in any capacity by Delphi.

In 2011 several Delphi 2006-specific features were added in the development branch, and some of the starting work for the features new in Delphi 2009 (most notably the addition of the UnicodeString type) was completed. The development branch also has an Objective-Pascal extension for Objective-C (Cocoa) interfacing.

As of version 2.7.1, Free Pascal implemented basic ISO Pascal mode, though many things such as the Get and Put procedures, and the file-buffer variable concept for file handling were still absent.

As of version 3.0.0, ISO Pascal mode is fairly complete. It has been able to compile standardpascal.org's P5 ISO Pascal compiler with no changes.

History

[edit]

Early years

[edit]

Free Pascal was created when Borland clarified that Borland Pascal development for DOS would stop with version 7, to be replaced by a Windows-only product, which later became Delphi.

Student Florian Paul Kl?mpfl began developing his own compiler written in the Turbo Pascal dialect and produced 32-bit code for the GO32v1 DOS extender, which was used and developed by the DJ's GNU Programming Platform (DJGPP) project at that time.

Originally, the compiler was a 16-bit DOS executable compiled by Turbo Pascal. After two years, the compiler was able to compile itself and became a 32-bit executable.

Expansion

[edit]

The initial 32-bit compiler was published on the Internet, and the first contributors joined the project. Later, a Linux port was created by Michael van Canneyt, five years before the Borland Kylix Pascal compiler for Linux became available.

The DOS port was adapted for use in OS/2 using the Eberhard Mattes eXtender (EMX) which made OS/2 the second supported compiling target. As well as Florian Kl?mpfl the original author, Dani?l Mantione also contributed significantly to make this happen, providing the original port of the run-time library to OS/2 and EMX. The compiler improved gradually, and the DOS version migrated to the GO32v2 extender. This culminated in release 0.99.5, which was much more widely used than prior versions, and was the last release aiming only for Borland Pascal compliance; later releases added a Delphi compatibility mode. This release was also ported to systems using Motorola 68000 family (m68k) processors.

With release 0.99.8 the Win32 target was added, and a start was made with incorporating some Delphi features. Stabilizing for a non-beta release began, and version 1.0 was released in July 2000. The 1.0.x series was widely used, in business and education. For the 1.0.x releases, the port to 68k CPU was redone, and the compiler produced stable code for several 68k Unix-like and AmigaOS operating systems.

Version 2

[edit]

During the stabilization of what would become 1.0.x, and also when porting to the Motorola 68k systems, it was clear that the design of the code generator was far too limited in many aspects. The principal problems were that adding processors meant rewriting the code generator, and that the register allocation was based on the principle of always keeping three free registers between building blocks, which was inflexible and difficult to maintain.

For these reasons, the 1.1.x series branched off from the 1.0.x main branch in December 1999. At first, changes were mostly clean-ups and rewrite-redesigns to all parts of the compiler. The code generator and register allocator were also rewritten. Any remaining missing Delphi compatibility was added.

The work on 1.1.x continued slowly but steadily. In late 2003, a working PowerPC port became available, followed by an ARM port in summer 2004, a SPARC port in fall 2004, and an x86-64-AMD64 port in early 2004, which made the compiler available for a 64-bit platform.

In November 2003, a first beta release of the 1.1.x branch was packaged and numbered 1.9.0. These were quickly followed by versions 1.9.2 and 1.9.4; the latter introduced OS X support. The work continued with version 1.9.6 (January 2005), 1.9.8 (late February 2005), 2.0.0 (May 2005), 2.0.2 (December 2005), and 2.0.4 (August 2006).

Version 2.2.x

[edit]

In 2006, some of the major reworks planned for 2.2, such as the rewrite of the unit system, had still not begun, and it was decided to instead start stabilizing the already implemented features.

Some of the motives for this roadmap change were the needs of the Lazarus integrated development environment project, particularly the internal linker, support for Win64, Windows CE, and OS X on x86, and related features like DWARF. After betas 2.1.2 and 2.1.4, version 2.2.0 was released in September 2007, followed by version 2.2.2 in August 2008 and version 2.2.4 in March 2009.

The 2.2.x series vastly improved support for the ActiveX and Component Object Model (COM) interface, and Object Linking and Embedding (OLE), though bugs were still being found. The delegation to interface using the implements keyword was partly implemented, but was not complete as of March 2011.[1] Library support for ActiveX was also improved.

Another major feature was the internal linker for Win32, Win64, and Windows CE, which greatly improved linking time and memory use, and make the compile-link-run cycle in Lazarus much faster. The efficiency for smart-linking, or dead code elimination, was also improved.

Minor new features included improved DWARF (2/3) debug format support, and optimizations such as tail recursion, omission of unneeded stack frames and register-based common subexpression elimination (CSE) optimization. A first implementation of generic programming (generics) support also became available, but only experimentally.

Version 2.4.x

[edit]

The 2.4.x release series had a less clear set of goals than earlier releases. The unit system rewrite was postponed again, and the branch that became 2.4 was created to keep risky commits from 2.2 to stabilize it. Mostly these risky commits were more involved improvements to the new platforms, Mac PowerPC 64, Mac x86-64, iPhone, and many fixes to the ARM and x86-64 architectures in general, as well as DWARF.

Other compiler improvements included whole program optimization (WPO) and devirtualization and ARM embedded-application binary interface (EABI) support.

Later, during the 2.2 cycle, a more Delphi-like resource support (based on special sections in the binary instead of Pascal constants) was added. This feature, direly needed by Lazarus, became the main highlight of the branch.

Other more minor additions were a memory manager that improved heap manager performance in threaded environments, small improvements in Delphi compatibility such as OleVariant, and improvements in interface delegation.

On January 1, 2010, Free Pascal 2.4.0 was released, followed on November 13, 2010, by bug fix release 2.4.2, with support for for..in loops, sealed and abstract classes, and other changes.[2]

Version 2.6.x

[edit]

In January 2012, Free Pascal 2.6 was released. This first version from the 2.6 release series also supported Objective Pascal on OS X and iOS targets and implemented many small improvements and bug fixes. In February 2013, FPC 2.6.2 was released. It contained NetBSD and OpenBSD releases for the first time since 1.0.10, based on fresh ports. In March 2014, the last point release in the 2.6 series, 2.6.4, was launched, featuring mostly database (fcl-db) updates.

Version 3.0.x

[edit]

Version 3.0.0 was released on November 25, 2015, and was the first major release since January 1, 2012. It introduced many new language features.[3]

Version 3.0.2 was released on February 15, 2017, and includes bug fixes and minor compiler updates.
Version 3.0.4 was released on November 28, 2017.
It includes many language improvements over previous versions, including an internal linker for Executable and Linkable Format (ELF), Arm AARCH64 for iOS and Linux, a revived i8086 platform, extended libraries and much more.

Version 3.2.x

[edit]

The next major release, version 3.2.0, was published on June 19, 2020. It introduced many new language features, including generic routines, standard namespaces, managed records and expanded functionality for dynamic arrays, in addition to the advent of new standard units and the support of additional platforms.[4]

Version 3.2.2 was released on May 20, 2021, and supports macOS on AArch64 and naming of threads. Additionally it includes bug fixes and minor compiler updates.[5]

A release candidate, FPC 3.2.4-rc1, was available for test in June 2025.[6]

Version 3.3.x

[edit]

As of July 2025 development version 3.3.1 was available for download as file fpc.zip.[7] The most recent member of the archive (excepting a file stating the date the members of ftp.zip were extracted) was dated 15 September 2023.

Targets

[edit]
Processor architecture Operating system, device Version 3.2.2 or 3.3.1 (Trunk) Version 3.0.0 - 3.2.0 Version 2.6.2 Version 2.6.0 Version 2.4.4 Version 2.4.2 Version 2.4.0 Version 2.2.4 Version 2.0.x Version 1.0.x
i386 DOS (GO32v2 extender) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
FreeBSD Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
OpenBSD Yes Yes Yes No No No No No No Yes
NetBSD Yes Yes Yes No No No No No No Yes
Linux Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
macOS Yes Yes Yes Yes Yes Yes Yes Yes No No
OS/2 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Windows Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Windows CE Yes Yes Yes Yes Yes Yes Yes No No No
BeOS Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Haiku Yes Yes Yes Yes Yes Yes Yes No No No
NetWare Yes Yes Yes Yes Yes Yes Yes Yes Yes No
Solaris Yes Yes Yes Yes Yes Yes No No No Yes
iPhone Sim Yes Yes Yes Yes No No No No No No
QNX Neutrino Yes No No No No No No No No Yes
Android Yes Yes Yes No No No No No No No
AROS Yes Yes No No No No No No No No
x86-64 FreeBSD Yes Yes Yes Yes Yes Yes No No No No
OpenBSD Yes Yes Yes Un-known Un-known Un-known Un-known Un-known Un-known Un-known
NetBSD Yes Yes Yes Un-known Un-known Un-known Un-known Un-known Un-known Un-known
Linux Yes Yes Yes Yes Yes Yes Yes Yes Un-known No
macOS Yes Yes Yes Yes Yes Yes Yes No No No
Windows Yes Yes Yes Yes Yes Yes Yes No No No
iPhone Sim Yes Yes Yes Yes No No No No No No
AROS Yes Yes Yes Yes Yes Yes No No No No
DragonFly BSD Yes Yes Yes Yes Yes Yes No No No No
Solaris Yes Yes Yes Yes Yes Yes No No No No
Haiku Yes Yes No No No No No No No No
Android Yes Yes No No No No No No No No
ARM iOS Yes Yes Yes Yes Yes Yes Yes No No No
Game Boy Advance Yes Yes Yes Yes Yes Yes Yes No No No
Nintendo DS Yes Yes Yes Yes Yes Yes Yes No No No
Linux Yes Yes Yes Yes Yes Yes Yes Yes Un-known No
Windows CE Yes Yes Yes Yes Yes Yes Yes Yes Un-known No
Android Yes Yes Yes No No No No No No No
Embedded Yes Yes Yes No No No No No No No
Embedded Rasp-Pi Yes Yes No No No No No No No No
AROS Yes Yes No No No No No No No No
AArch64 Linux Yes Yes Yes No No No No No No No
iOS Yes Yes Yes No No No No No No No
Android Yes Yes No No No No No No No No
macOS Yes No No No No No No No No No
AVR Embedded Yes Yes No No No No No No No No
PowerPC Linux Yes Yes Yes Yes Yes Yes Yes Yes Yes No
macOS Yes Yes Yes Yes Yes Yes Yes Yes Yes No
Classic Mac OS Yes Yes Yes Yes Yes No No Yes Yes No
AmigaOS 4 Yes Yes Yes Yes Yes Un-known Un-known Un-known Yes No
MorphOS Yes Yes Yes Yes Yes Un-known Un-known Un-known Yes No
AIX Yes Yes Yes Yes No No No No No No
Wii Yes Yes Yes Yes Yes No No No No No
PowerPC 64-bit Linux Yes Yes Yes Yes Yes Yes Yes Yes No No
macOS Yes Yes Yes Yes Yes Yes Yes No No No
AIX Yes Yes Yes Yes No No No No No No
SPARC Solaris Yes Yes Yes Yes Yes Yes No No No No
NetBSD Yes Yes Yes Yes Yes Yes No No No No
Embedded Yes Yes Yes Yes Yes Yes No No No No
Linux Yes Yes Yes Yes Yes Yes No No No No
SPARC64 Linux Yes Yes Yes Yes No No No No No No
RISC-V Embedded Yes Yes No No No No No No No No
RISC-V64 Embedded Yes Yes No No No No No No No No
Java virtual machine Java Yes Yes No No No No No No No No
Android Yes Yes No No No No No No No No
MIPS (BE and LE) Linux Yes Yes No No No No No No No No
Embedded Yes Yes No No No No No No No No
8086 (16-bit) DOS Yes Yes No No No No No No No No
Win16 Yes Yes No No No No No No No No
Embedded Yes Yes No No No No No No No No
m68k Linux Yes Yes No No No No No No No Yes
NetBSD Yes Yes No No No No No No No Yes
AmigaOS Yes Yes No No No No No No No Yes
Atari TOS Yes Yes No No No No No No No Yeslimited cross-compiler only
Palm OS Yes Yes No No No No No No No Un-known
Z80 Embedded Yes No No No No No No No No No
ZX Spectrum Yes No No No No No No No No No
MSX-DOS Yes No No No No No No No No No
WebAssembly Web browsers Yes No No No No No No No No No

Free Pascal also supports byte code generation for the Java Virtual Machine as of version 3.0.0 and targets both Oracle's Java and Google's Android JVM,[8] although Object Pascal syntax is not fully supported. Free Pascal 3.0.0 also supports ARMHF platforms like the Raspberry Pi, including ARMV6-EABIHF running on Raspbian. Work on 64-bit ARM has resulted in support for iOS in 3.0.0 as well. A native ARM Android target has been added, ending the formerly hacked ARM Linux target to generate native ARM libraries for Android. This makes porting Lazarus applications to Android (using Custom Drawn Interface[9]) easier. Since FPC 2.6.2, OpenBSD and NetBSD are supported on IA32 and X86_64 architectures. A new target embedded has been added for usage without OS (ARM Cortex M and MIPS mainly). With InstantFPC it is possible to run Pascal programs, which are translated just in time, as Unix scripts or CGI back-end.

Ultibo core is an embedded or bare metal development environment for Raspberry Pi.[10] Ultibo is based on Free Pascal and developed under a modified version of Lazarus. The IDE is PC based but has been ported to Linux and Mac as well. Ultibo is an OS-less runtime and has support for most functions and allows the programmer full control over the hardware via the RTL units. The runtime implements multi-threaded, pre-emptive multitasking. The programmer can put threads on a specific CPU or let the runtime divide the load automatically or a mix of the two. Most Raspberry Pi models are supported including the A, B, A+ and B+ as well as the Raspberry Pi 2B, 3B, 4B/400/CM4 and Zero.[11]

Integrated development environments

[edit]

Like most modern compilers, Free Pascal can be used with an integrated development environment (IDE). Besides independent IDEs there are also plugins to various existing IDEs

Lazarus IDE in Windows 10
Free Pascal IDE in Linux showing "Hello, World!" program in German
  • Free Pascal has its own text-mode IDE resembling Turbo Pascal's IDE. It is made using the Free Vision framework (also included with Free Pascal), a Turbo Vision clone. In addition to many features of the Turbo Pascal IDE, it has code completion and support for multiple help file formats (HTML, Microsoft Compiled HTML Help (CHM), Information Presentation Facility (IPF). Instead of using command line tools, the IDE uses its own embedded compiler, based on the same source as the command line compiler and debugger (using libgdb or GDBMI) to provide its functionality.
  • Dev-Pascal is a free Windows-only IDE for Free Pascal and GNU Pascal, with no further development following the 2004 FPC version and the 2005 GPC version.

Bundled libraries

[edit]

Apart from a compiler and an IDE, Free Pascal provides the following libraries:

Examples of software produced with Free Pascal

[edit]
  • Beyond Compare is a data comparison utility for Windows, OS X, and Linux. The Linux and OS X versions are compiled with Lazarus/FPC.
  • Cartes du Ciel is a free planetarium program for Linux, OS X, and Windows. It maps and labels most constellations, planets, and objects visible by telescope. It was fully written in Lazarus/FPC, and released under GPL.
  • Cheat Engine is a proprietary, source available, Freeware memory scanner, hex editor, and debugger. It can be used for cheating in computer games. Since version 6.0 it is compiled with Lazarus/FPC.
  • Double Commander is an open-source multi-platform two-panel orthodox file manager inspired by the Microsoft Windows-only Total Commander.
  • Free Pascal is written in Object Pascal and assembly language, and self-compiled.
  • HNSKY, Hallo Northern Sky is a free planetarium program for Windows and Linux. Since version 3.4.0 written & compiled with Lazarus/FPC.
  • Lazarus: Free Pascal's affiliated Delphi-like software package for rapid development of graphical applications.
  • Morfik: Morfik WebOS AppBuilder uses Free Pascal to produce CGI binaries.
  • MyNotex is a free software note-taking and notes manager for Linux.
  • Early versions of the Nim compiler were developed in Free Pascal, before it became self-hosting in Nim.[12]
  • Peazip is an open source archiver, made with Lazarus/FPC.
  • TorChat, previously written in Python, is now being rewritten in Free Pascal and Lazarus.

See also

[edit]
  • fpGUI Free Pascal GUI toolkit – a cross-platform and custom-drawn toolkit implemented in Object Pascal

References

[edit]
  1. ^ bugs.freepascal.org
  2. ^ User Changes 2.4.2
  3. ^ "FPC New Features 3.0.0". Free Pascal wiki. Retrieved February 28, 2021.
  4. ^ "FPC New Features 3.2.0 - Free Pascal wiki". wiki.freepascal.org. Retrieved June 20, 2020.
  5. ^ "FPC New Features 3.2.2 - Free Pascal wiki". wiki.freepascal.org. Retrieved December 30, 2021.
  6. ^ "FPC 3.2.4-rc1 available". Lazarus. June 23, 2025.
  7. ^ "Development". Free Pascal. Retrieved July 23, 2025.
  8. ^ freepascal wiki: FPC JVM
  9. ^ Custom Drawn Interface
  10. ^ "Ultibo embedded Runtime Library". Ultibo.org. Ultibo.
  11. ^ "Ultibo supported Pi boards". Ultibo.org.
  12. ^ "Nim Pascal source". GitHub.
[edit]

Official websites

[edit]

General introduction

[edit]

Sites specialized in game development

[edit]
百合有什么功效和作用 卧推60公斤什么水平 cp什么意思 皮肤变黑是什么原因 王爷的儿子叫什么
糖尿病可以吃什么肉 水准仪是测量什么的 你在说什么用英语怎么说 阴米是什么米 肌无力挂什么科
阑尾炎的症状是什么 乌托邦是什么意思 吃无花果有什么好处 羊肉和什么菜包饺子好吃 鹅蛋治什么妇科病
压脚背有什么好处 旧加一笔是什么字 清炖排骨都放什么调料 小说be是什么意思 褥疮用什么药
脾胃湿热吃什么药好hcv8jop6ns0r.cn 阔腿裤配什么鞋子好看hcv9jop0ns8r.cn 长结节是什么原因造成的hcv8jop7ns4r.cn 包二奶是什么意思hcv8jop8ns9r.cn 命中注定是什么意思shenchushe.com
什么什么不断hcv9jop0ns3r.cn 老人过生日送什么礼物好beikeqingting.com 传度是什么意思hcv9jop1ns5r.cn 冬瓜什么时候成熟dajiketang.com 扁扁的鱼叫什么鱼hcv7jop9ns0r.cn
9月21日是什么星座hcv7jop7ns4r.cn 奶奶的哥哥叫什么zhongyiyatai.com 什么玉便宜又养人hcv7jop5ns6r.cn 脾虚便秘吃什么中成药hcv8jop6ns3r.cn 肛门长期瘙痒是什么原因hcv8jop9ns7r.cn
肌酸是什么hkuteam.com 什么黄hcv8jop6ns6r.cn 天秤座后面是什么星座jiuxinfghf.com 呆子是什么意思hcv8jop0ns0r.cn 效果图是什么意思zhiyanzhang.com
百度