Fact-checked by Grok 2 weeks ago

Free Pascal

Free Pascal (FPC) is a free and open-source compiler for the Pascal and programming languages, providing compatibility with dialects from and while supporting a broad array of processor architectures and operating systems. Initiated in June 1993 by Florian Klämpfl as a hobby project, Free Pascal achieved its first self-compiling version in March 1995 and was publicly released online in March 1996. Key milestones include the 1.0 release in July 2000, which introduced multi-platform support; version 2.0.0 in May 2005, adding 64-bit capabilities; 3.0.0 in November 2015, enhancing and threading; and the current stable release, 3.2.2 (as of November 2025), issued in May 2021. Development continues actively through a community-driven process, with the compiler written in and capable of self-compilation, and ongoing work on trunk versions targeting future releases like 3.3.x, with development snapshots available as of 2025. Free Pascal targets numerous processor architectures (over 15), including Intel x86 (16-, 32-, and 64-bit), AMD64, ARM, PowerPC, SPARC, MIPS, and emerging support for RISC-V and others, enabling cross-compilation from a single source. It operates on diverse operating systems such as Windows, Linux, macOS, FreeBSD, Android, iOS, DOS, OS/2, and various embedded systems, making it suitable for desktop, mobile, server, and microcontroller applications. Core features encompass function and operator overloading, Delphi-style object-oriented programming, variants, interfaces, and exception handling, alongside a comprehensive runtime library (RTL) for low-level operations and higher-level abstractions. The compiler includes tools for building executables, libraries, and units, with package management via the Free Pascal Package Manager (fppkg) for extending functionality. Under the GNU General Public License (GPL) for the itself and a modified (LGPL) for its runtime libraries, Free Pascal permits both open-source and proprietary development, provided modifications to libraries include availability. This licensing model has fostered a vibrant ecosystem, including integrations with integrated development environments like , and widespread use in , game development, and scientific computing due to its speed, reliability, and portability.

Overview

Definition and Purpose

Free Pascal (FPC) is an open-source, multi-platform for the Pascal and programming languages, designed to produce standalone code from source files without external runtime dependencies. It supports a variety of language dialects, including those compatible with historical implementations, and generates native optimized for performance across diverse hardware architectures. This capability enables developers to create efficient applications that run directly on the target CPU, with options for static linking to embed all necessary libraries into the . The primary purpose of Free Pascal is to serve as a free alternative to proprietary Pascal compilers such as and , facilitating cross-platform development for education, hobbyist projects, and professional software creation. It emphasizes compatibility with legacy code while supporting modern features like 32-bit and 64-bit compilation, making it suitable for building applications that target everything from resource-constrained systems to full-featured environments. By prioritizing portability and optimization, Free Pascal allows programmers to write once and deploy across multiple operating systems, including Windows, , macOS, and others, without platform-specific modifications. In addition to its compilation capabilities, Free Pascal includes a basic text-mode (IDE) that supports editing, , and interactive debugging, streamlining the development process for users without needing additional tools. This IDE, combined with the compiler's focus on self-contained executables, makes it particularly accessible for learning and experimentation in programming environments. Free Pascal was initiated in 1993 by Florian Klämpfl as a 16-bit DOS-targeted compiler, evolving into a robust tool for contemporary use.

Licensing and Open-Source Nature

Free Pascal is distributed under the GNU General Public License (GPL) for its source code, while the () and associated packages are licensed under a modified (LGPL) with a static linking exception. This exception permits users to link the RTL statically with or closed-source applications without requiring the disclosure of the application's source code, provided that the unmodified RTL source is made available upon request. As a result, developers can create and distribute using Free Pascal without licensing restrictions on their own code, as long as they comply with the LGPL terms for the library components. The project is maintained by a volunteer development team coordinated primarily by core contributors such as Florian Klämpfl, who handles development and project coordination, and Michael van Canneyt, responsible for porting, documentation, and maintenance. Additional key maintainers include Jonas Maebe for ports to PowerPC, JVM, and architectures, and Pierre Muller for and testing support. Development occurs collaboratively through the project's repository at gitlab.com/freepascal.org/fpc, where is hosted and managed, with contributions submitted via merge requests. Community input and discussions are facilitated through dedicated mailing lists, such as fpc-pascal for general queries and development topics, and the Lazarus forum for related integration. Stable releases of Free Pascal are issued approximately every one to three years, focusing on bug fixes, platform enhancements, and package updates, while the main development trunk serves as the testing ground for experimental features and upcoming changes. As of November 2025, the most recent stable version remains 3.2.2, released in May 2021, which includes critical updates to the and libraries. A release candidate for version 3.2.4 (RC1) was made available in June 2025, incorporating further bug fixes and improvements, while development builds for the 3.3.1 series are accessible from the trunk for early testing. The Free Pascal community consists of numerous volunteers who contribute code, documentation, and testing, with the project supported financially through donations and sponsorships managed by the non-profit . The foundation channels funds toward specific development goals, such as feature implementations and platform support, without any commercial backing or corporate sponsorships driving the project. This open-source model fosters broad participation, ensuring ongoing evolution through grassroots efforts rather than proprietary interests.

History

Origins and Early Development

Free Pascal originated as a hobby project initiated by Florian Klämpfl in June 1993, while he was a student in . Klämpfl aimed to create a free, open-source Pascal compatible with the dialect, targeting the operating system on the i386 architecture to address the lack of available 32-bit Pascal compilers at the time. The project, initially known as FPK Pascal after its author's initials, was written in itself, allowing initial compilation using Borland's proprietary binaries. Early development progressed through key milestones that demonstrated growing maturity. By October 1993, the could successfully build small programs, and by March 1995, it achieved self-hosting capability, meaning it could compile its own without relying on external tools like . The was first publicly released on the in March 1996, marking its availability beyond personal use. Throughout the late , the focused on the 0.99.x series of releases, which introduced basic support for features, such as classes and objects, while maintaining compatibility with syntax. The project faced several challenges during its formative years, primarily due to the era's limited development tools and the declining popularity of Pascal in favor of languages like C, exacerbated by the absence of robust 32-bit for environments. Initially confined to with no support for graphical user interfaces, the compiler relied on command-line operation and the for 32-bit protected-mode execution on processors. remained a hurdle until the 1995 self-hosting milestone, after which efforts shifted toward enhancing portability and stability. The release of version 1.0 in July 2000 represented a significant achievement, delivering the first stable edition with improved reliability, bug fixes, and preliminary features for cross-compilation across emerging platforms. This version solidified Free Pascal's foundation as a viable alternative to proprietary Pascal tools, setting the stage for broader adoption.

Expansion and Version 1.x

Following the initial development focused on , Free Pascal underwent significant expansion in platform support during the late 1990s and early 2000s, enabling broader adoption across operating systems. In 1999, van Canneyt developed the port, which was released as part of version 0.99.x and marked a key step toward cross-platform compilation capabilities. support was achieved through integration with the EMX extender, allowing binaries to run natively on or environments with EMX runtime libraries. By 2000, the Windows (Win32) port was completed, providing developers with options for GUI-based systems beyond the original target. The port was added in version 1.0.10, released in July 2003. The version 1.x series, spanning 2000 to 2003, represented a maturation phase with enhanced stability and compatibility features. Version 1.0, released in July 2000, introduced support for shared libraries on supported platforms, facilitating dynamic linking and modular program design. This release built on the popular pre-release 0.99.5 from 1999, which had gained traction among users for its improved reliability over earlier betas. Subsequent updates, such as 1.0.10 in 2003, further refined compatibility by better supporting constructs like classes and , while maintaining core 7.0 dialect adherence. The series emphasized modular organization through units, enabling reusable code components for basic operations. Community involvement grew during this period, driven by the formation of dedicated mailing lists in for discussions on and usage. These forums attracted the first international contributors, including Europeans like van Canneyt, expanding the project's collaborative scope beyond its origins. Technically, the 1.x series provided a foundational (RTL) for essential tasks such as file input/output and console interactions, ensuring portability across the new platforms without relying on advanced features like generics or full object-oriented extensions, which were absent at this stage. This focus on core functionality supported educational and business applications, solidifying Free Pascal's role as a versatile open-source alternative.

Version 2.x Series

The development of Free Pascal's 2.x series began with releases under the 1.9.x designation, culminating in the stable 2.0.0 version on May 15, 2005. These s, starting from 1.9.0 in 2003, focused on stabilizing new ports and enhancing compatibility, building on the 1.x foundations of multi-platform support. The 2.0.0 release marked a significant advancement over version 1.0, introducing ports for PowerPC (32-bit), , SPARC, and processors, alongside improved Delphi compatibility modes for better interoperability with codebases. Subsequent minor releases in the 2.0.x line, such as 2.0.2 (December 2005) and 2.0.4 (August 2006), primarily addressed bug fixes and expanded platform builds to ensure reliability across the new targets. The 2.2.x series, starting with 2.2.0 on , 2007, brought further expansions including PowerPC 64-bit, Windows x64, Mac OS X on , Game Boy Advance, and support, with enhancements to debugging tools and language features like official generics implementation for reusable code templates. Releases like 2.2.2 (August 2008) and 2.2.4 (April 2009) incorporated backported fixes and initial testing for a new package system. The 2.4.x series, led by 2.4.0 on January 1, 2010, added Delphi-like resource compilers for handling binary data embedding, 64-bit Mac OS X support, targeting, OS compatibility, and ARM EABI improvements, alongside whole-program optimization passes for better code efficiency. Later versions, 2.4.2 (November 2010) and 2.4.4 (May 2011), introduced 2006-style features such as for-in loops and sealed/abstract classes, plus 64-bit support and fixes for multi-threading on OS/2. Closing the series, 2.6.0 arrived on January 1, 2012, with Objective Pascal support for macOS/ integration, post-Delphi 7 compatibility enhancements, and extensions like VFPv2/v3 floating-point and Thumb-2 instruction sets. The 2.6.2 ( 2013) and 2.6.4 ( 2014) updates provided -specific fixes, new packages like fpindexer for file indexing and dataset handling, and beta-level support for and on and architectures. Throughout the 2.x series, key feature highlights included enhanced optimization passes for reduced sizes and faster execution, improvements toward ISO Pascal standard compliance in syntax and semantics, and targeted bug fixes to streamline cross-compilation workflows across diverse architectures. These efforts reflected a growing emphasis on embeddability for resource-constrained environments like mobile and gaming devices, while laying groundwork for the increasing prevalence of 64-bit systems in mainstream computing.

Version 3.x Series

The Free Pascal 3.x series began with version 3.0.0, released in November 2015, which introduced significant platform expansions including support for the architecture alongside other targets such as Java VM, Dalvik, AIX, 16-bit, , and AROS. This release also enhanced string handling with codepage-aware AnsiStrings for better compatibility (from version 2009 onward) and added language features like Delphi-like namespaces, constructors, the intrinsic, and type helpers. The 3.0.x branch continued with point releases focused on stability; version 3.0.4, released in November 2017, primarily delivered bug fixes and package updates, including adjustments to SysUtils for TList auto-growth to mitigate out-of-memory issues and compatibility tweaks in units like Inifiles and DB. The 3.2.x series advanced capabilities building on prior generics support, with 3.2.0 released in June 2020 introducing generic routines for functions, procedures, and methods using the generic and specialize keywords, enabling more flexible Delphi-compatible templating. Additional features included operations like Insert, Delete, Concat, and the + operator; C blocks support for macOS and ; threadvar sections in classes and records; and management operators for records such as Initialize and Finalize. 3.2.2, released in May 2021, emphasized refinements with native support for macOS on (/AArch64 target), alongside bug fixes like MySQL 8.0 compatibility in SQLdb and TThread.NameThreadForDebugging implementation across Windows, , and . The series progressed to 3.2.4 RC1 in June 2025, prioritizing bug fixes and AArch64-related refinements, though the full release faced delays due to limited tester availability. Development in the 3.3.x trunk, labeled as 3.3.1 in builds from mid-2025 onward, represents ongoing experimental work, including target support for generating Wasm code compatible with WASI previews and an internal linker option. As of November 2025, version 3.2.2 remains the stable download, with efforts centered on ARM64 optimizations and embedded targets amid challenges in release testing.

Language Features

Supported Dialects

Free Pascal natively supports several dialects of the Pascal language, allowing developers to compile code written for various historical and implementations while extending them with modern features where appropriate. The compiler's mode system enables selection of these dialects via command-line switches or source directives, ensuring compatibility with syntax and semantics from specific Pascal variants. The primary dialects include full support for Borland Pascal 7 through the Turbo Pascal (TP) mode, which provides syntax compatibility and emulates the behavior of 7.0 on 16-bit targets, with support for 32-bit and 64-bit targets requiring adaptations for certain low-level features like inline , while preserving unit-based modularity. For as used in , Free Pascal provides modes compatible with Delphi 1 through 7, offering full support for classes, interfaces, properties, and exceptions; partial support extends to later versions via the DELPHIUNICODE mode, which handles strings and additional runtime library features from Delphi 2009 onward, though some proprietary elements like certain VCL components remain unsupported. Standard ISO Pascal (ISO/IEC 7185) is supported in compliance with levels 0 and 1, enforcing strict standard syntax without proprietary extensions, such as requiring explicit type declarations and limiting dynamic features. Partial support exists for , via the MACPAS mode, which accommodates Mac-specific constructs like universal procedures and certain string handling, though not all legacy Macintosh Pascal extensions are implemented. There is no full support for (ISO/IEC 10206) beyond basic conformance. Dialect selection occurs through compiler switches like -Mtp for Turbo Pascal mode or -Mdelphi for Delphi mode, or via the {$mode tp} or {$mode delphi} directive in source code, applied on a per-unit basis. Syntax differences across modes include variations in sets (e.g., Turbo Pascal allows heterogeneous sets like set of char, integer, while ISO mode restricts to homogeneous types), pointers (Delphi mode supports typed pointers with automatic dereferencing in some contexts, unlike stricter ISO handling), and procedural types (MacPas mode permits procedure variables with Mac-specific calling conventions, differing from Turbo Pascal's flat model). These modes can be combined with extensions like OBJFPC, which adds modern Object Pascal features such as classes and interfaces to base dialects without altering core compatibility. Support for these dialects has evolved, with version 2.x series introducing expanded compatibility for , including improved unit handling and object-oriented constructs to better align with Delphi 6 and 7, facilitating porting of larger codebases. For interoperability with non-native dialects, Free Pascal includes targeted extensions, as detailed in its compatibility documentation.

Compatibility and Extensions

Free Pascal offers partial source-level compatibility with other Pascal variants, including and . It supports compiling much of the source code from , Borland's Linux-oriented Pascal environment, with adjustments for platform differences. Similarly, forms, developed using Free Pascal, achieve source compatibility with Delphi's (VCL) structures through equivalent LCL components. To facilitate integration with Delphi code, Free Pascal includes the ppudump utility, which extracts contents from compiled unit files (.ppu) for potential reuse or conversion into source form. However, Free Pascal maintains no binary compatibility with Delphi executables, requiring recompilation of shared code rather than direct execution of binaries. Free Pascal extends the Object Pascal dialect with several features not present in all legacy implementations. In Object Pascal mode, operator overloading allows redefining operators like addition for custom types, such as matrices. Custom attributes provide metadata decoration for types and published properties, queryable via runtime type information (RTTI). Inline assembly integration enables embedding processor-specific code directly in Pascal routines for performance optimization. Additionally, the compiler natively supports Unicode strings for international text handling and dynamic arrays for resizable collections. Interoperability with external libraries, particularly C-based ones, is achieved through the (FFI) using the modifier for matching C ABI. Mode switches, such as {$MODESWITCH}, permit selective enabling or disabling of dialect features, allowing projects to mix elements from multiple Pascal dialects like TP or within a single codebase. Despite these capabilities, Free Pascal lacks full support for 's proprietary VCL or advanced (RTL) elements, as they are not open-source. Developers employ workarounds like conditional compilation directives (e.g., {$IFDEF}) to isolate platform- or dialect-specific code, ensuring portability across supported environments.

Platform Support

Processor Architectures

Free Pascal supports a wide range of processor architectures through dedicated backends, enabling compilation for both general-purpose and systems. The includes architecture-specific optimizers that generate efficient , with support for inline assembly in dialects such as and styles across most targets. This allows developers to incorporate low-level instructions directly in Pascal code for performance-critical sections. The primary supported architectures encompass the x86 family, including 16-bit (i8086), 32-bit (), and 64-bit () variants, which form the foundation for desktop and server applications on various operating systems. architectures are fully supported in both 32-bit (AArch32) and 64-bit () modes. Other mature targets include PowerPC (32-bit and 64-bit), (32-bit and 64-bit), (32-bit and 64-bit), and 68k, catering to legacy systems, embedded devices, and environments. For embedded and specialized applications, Free Pascal targets microcontrollers such as AVR (8-bit), , and Xtensa, often in a freestanding mode without an operating system. (32-bit and 64-bit) support is available experimentally in the development trunk, reflecting growing interest in open-source instruction sets for and custom hardware. Additionally, Z80 support enables development for retro and embedded systems like those in game consoles. (32-bit) provides a portable target for web-based applications, generating executable in browsers. Experimental backends extend Free Pascal's reach to virtual machines and alternative infrastructures. The JVM backend produces compatible with JDK 1.5 and later, including Android's Dalvik VM, though not all language features are fully implemented. In the development trunk, an backend is available, targeting platforms like /x86-64 and Darwin/, offering potential for advanced optimizations through the LLVM infrastructure. However, Free Pascal does not provide native support for GPU architectures or digital signal processors (DSPs), focusing instead on CPU-centric targets. Cross-compilation is a core strength, allowing the to run on one (e.g., host) while generating code for disparate targets like or , without requiring native tools on the target platform. This host-target independence facilitates development for and mobile devices from standard desktop environments.
CategoryArchitectures
Fully Supported, , i8086, (AArch32/), PowerPC (32/64-bit), SPARC (32/64-bit), MIPS, m68k, PIC, AVR, Xtensa, Z80, (32-bit), (JVM)
Under DevelopmentZ Systems
Experimental/Embeddedi8086 (), (AArch32 ), PowerPC (32-bit ), (), Z80 (), LLVM backend (select platforms)

Operating Systems and Environments

Free Pascal provides extensive support for desktop operating systems, enabling cross-platform development across a wide range of environments. It fully supports Windows from Windows CE through version 11, including 16-bit, 32-bit, and 64-bit variants, allowing for both legacy and modern Windows ecosystems. is comprehensively supported across all major distributions, with compatibility for architectures such as , , , and PowerPC, ensuring seamless integration with diverse Linux-based systems. macOS is available for both (x86-64) and (AArch64) processors, supporting Darwin-based development from macOS 10.6 onward. Additionally, Free Pascal targets systems including , , , and (for SPARC32 and SPARC64), providing robust compliance on these platforms for standardized system calls and portability. For mobile and embedded applications, Free Pascal offers targeted support that facilitates development in resource-constrained settings. is supported via the Native Development Kit (NDK), with native targets for , x86, , and ARM64 compatibility introduced in version 3.2.0, enabling efficient cross-compilation for Android apps. support is available for 64-bit devices and the Simulator, though it is limited by Apple's licensing restrictions, which prohibit unsigned code execution on physical devices without jailbreaking or official developer provisioning. Embedded environments include bare-metal support for and PowerPC processors, allowing direct hardware access without an underlying OS, as well as compatibility with , , and embedded variants for specialized systems like microcontrollers. The compiler also accommodates legacy and specialized runtime environments, emphasizing flexibility in deployment. DOS environments are supported in 16-bit mode via the Go32v2 extender, preserving compatibility with classic PC systems. Win32 and Win64 APIs are natively handled without requiring a Unix porting layer, while POSIX standards ensure consistent behavior across compliant systems like and BSDs. The (RTL) employs static linking by default, bundling necessary components into executables for self-contained distribution and reduced dependencies. Just-in-time (JIT) compilation remains experimental in development branches like version 3.3 and is not available in stable releases, prioritizing reliable for production use.

Development Tools

Integrated Development Environments

Lazarus serves as the primary (IDE) for Free Pascal, offering a cross-platform solution for . It includes a visual form designer that enables drag-and-drop creation of graphical user interfaces, similar to Delphi's approach, through the Lazarus Component Library (LCL), which provides widgets and components for desktop applications across Windows, , and macOS. The latest stable release, Lazarus 4.4, was issued on November 10, 2025, and is built with Free Pascal Compiler (FPC) version 3.2.2, supporting features like , , integrated , and project management tools. Other IDEs compatible with Free Pascal include lighter options for specific needs. Free Pascal's built-in text-mode , known as fp-ide, provides a simple, terminal-based environment for editing, compiling, and basic debugging on Windows and , evoking the style of classic interfaces. For more versatile editing, offers a lightweight, cross-platform text editor with Pascal syntax support and configurable build commands to invoke the FPC compiler, while can be extended with plugins like the Pascal Language Server (OmniPascal) for advanced features such as code navigation, snippets, and debugging of Free Pascal projects. These generally emphasize project organization, error checking, and seamless compilation using Free Pascal as the backend , facilitating efficient development without official support for proprietary environments. Lazarus stands out for its emphasis on visual programming and cross-platform GUI deployment, enabling developers to build desktop applications quickly with minimal code.

Compiler Utilities and Build Tools

Free Pascal provides a suite of command-line utilities essential for compilation, linking, and building projects, enabling developers to manage the development process without graphical interfaces. The core compiler tool is fpc, the Free Pascal Compiler binary, which translates Pascal source code into executable binaries, supporting various optimization levels, debugging options, and output formats through extensive command-line parameters. For low-level operations, Free Pascal integrates the GNU Binutils linker ld to resolve symbols and produce final executables, and the assembler as to convert assembly output from the compiler into object files, ensuring compatibility across supported platforms. Cross-compilation is facilitated by ppcross, a driver that allows building binaries for target architectures different from the host, invoked via the -P parameter (e.g., fpc -Pi386 for i386 targets), and constructed using makefile targets like make crossinstall. Additional utilities support resource handling, inspection, and . The windres , part of and utilized by Free Pascal on Windows, processes .rc files into binary resources embeddable in executables via the {$R} directive, enabling inclusion of icons, dialogs, and version information without native Pascal resource support. The ppudump tool disassembles compiled files (.ppu), outputting human-readable listings of definitions, interfaces, and dependencies, which aids in and reverse-engineering units while handling version differences gracefully. For , fpdoc parses Pascal units to generate formatted output in or , inherently performing syntax validation during the scanning process to ensure source integrity before building docs. The build process in Free Pascal relies on traditional Makefiles for simple projects or the more advanced fpmake system for complex package management, where build instructions are defined in a fpmake.pp Pascal source file and package manifests in .fpm files compiled into an executable that handles dependencies, compilation, and installation. FPMake supports integration with external tools like CMake for hybrid workflows, allowing Pascal projects to leverage CMake's generator capabilities while using FPMake for Pascal-specific tasks. These tools facilitate command-line workflows ideal for scripting and automation, such as batch compilation scripts using fpc with predefined flags, dependency generation via integrated utilities like ppdep, or automated package builds with fpmake build all, supporting continuous integration in environments like CI/CD pipelines.

Libraries and Packages

Runtime Library

The Free Pascal Runtime Library (RTL) forms the foundational layer for all programs compiled with the Free Pascal , providing essential units that ensure portability across supported platforms. It includes core abstractions for system-level operations, handling, and data types, enabling developers to write cross-platform code without direct dependence on operating system specifics. The is designed to be lightweight and efficient, supporting both static and dynamic linking while maintaining compatibility with Delphi-style Pascal programming. At its core, the RTL features the unit, which handles through functions like GetMem, FreeMem, and ReallocMem, along with predefined types such as , , and for consistent behavior across platforms. It also provides OS abstractions via routines for process control, environment variables, and error handling, shielding applications from platform differences. Additionally, the Variants unit supports dynamic data types, allowing runtime type identification and manipulation of variant records, which is useful for scripting or data interchange scenarios. Interfaces in the RTL further abstract OS interactions, such as access and process execution, through platform-agnostic procedures. Key modules in the RTL extend these basics with practical utilities. The SysUtils unit offers comprehensive string manipulation functions (e.g., Copy, Concat, UpperCase), date and time operations (e.g., Now, DateTimeToStr), file name handling (e.g., ExtractFileName, ExpandFileName), and conversion routines (e.g., StrToInt, IntToStr), making it indispensable for everyday programming tasks. The Classes unit provides object-oriented collections like TList and TStringList, along with support for owner-owned relationships and automatic memory management via reference counting. For mathematical needs, the Math unit delivers routines beyond the System unit, including statistical functions (e.g., Mean, StdDev), trigonometric operations (e.g., ArcTan, SinCos), and financial calculations (e.g., NPV, IRR). Platform-specific modules, such as those for Win32 (e.g., WinDirs for directory operations) or Unix (e.g., BaseUnix for low-level system calls), adapt these to target environments without altering core code. The RTL includes robust features for modern development, such as threading support through the TThread class in the Classes unit, which encapsulates native OS threads for multi-threaded applications with methods like Start, WaitFor, and Synchronize for safe GUI updates. File I/O is handled via typed files in the unit and higher-level routines in SysUtils, supporting , text, and stream-based operations across platforms. Basic networking is available through socket units like Sockets, enabling / connections without external dependencies. Since version 3.0, the RTL is Unicode-aware, with the unit providing ShortString, AnsiString, and UnicodeString types, along with codepage support for international text handling. Notably, the RTL excludes components, which are addressed by separate packages. Regarding size and linking, the typically results in statically linked executables of approximately 1 MB for minimal programs, thanks to smartlinking that excludes unused code during compilation. Developers can customize inclusion via conditional defines (e.g., {$IFDEF UNIX}), allowing selective compilation of platform-specific parts to optimize binary size and performance. The thus underpins higher-level packages like the Free Component Library, which build upon its abstractions for more advanced functionality.

Additional Bundled Packages

Free Pascal distributes a variety of optional libraries and packages beyond the core (), providing developers with tools for specialized tasks such as data processing, networking, and graphics. The Free Component Library (FCL) is a key collection of these, offering non-visual classes for common functionalities including database access via the fcl-db package, which supports higher-level database systems and table drivers for formats like and ODBC connections. Additionally, fcl-xml handles XML and parsing with DOM units and writers, while fcl-web enables server-side applications and HTTP handling. For numerical computations, Free Pascal bundles NumLib, a package developed by researchers at , containing routines for linear algebra, eigenvalues, eigenvectors, and other mathematical operations compatible with the TP dialect. Common utility packages include fcl-hash for cryptographic hashing algorithms such as MD5, , and CRC implementations, and paszlib for zlib-based compression. Specialized bindings extend functionality to graphics and data storage; the opengl package provides interfaces to the Open Graphics Library for 3D rendering, while database drivers like support MySQL client connections across versions (e.g., mysql50conn) and integrates the SQLite embedded engine for lightweight, serverless databases. Starting with version 3.2.2, Free Pascal enhanced support for modern web technologies through the fcl-json package, which includes parsing, serialization, and utilities like jsonparser and jsonconf, alongside REST framework components in fcl-web such as for building endpoints. These packages are installed using fppkg, Free Pascal's built-in , which compiles and manages dependencies for over 70 base packages distributed with the . Community-maintained extensions are accessible via the Online Package Manager at fppkg.cnoc.nl, allowing seamless integration of additional modules.

Community and Usage

Documentation and Resources

Free Pascal provides comprehensive official documentation to support users and developers, including the Programmer's Guide, which details usage, optimization techniques, and programming best practices, available in both PDF and formats. The Reference Guide serves as the authoritative source for the Object Pascal language syntax, constructs, and semantics implemented by the . These documents, hosted on the official website, cover the stable version 3.2.2. Additionally, the Free Pascal wiki offers extensive tutorials, ranging from beginner-level introductions like the Basic Pascal Tutorial to advanced topics on conditional compilation and console programming, updated for recent developments including features from the 3.2.4 release candidate and trunk, such as improvements to generics handling. Community resources facilitate learning and troubleshooting through structured channels. The fpc-devel is dedicated to technical discussions, bug reports, and announcements of snapshots and releases. The Lazarus forum provides a platform for user queries, particularly those involving the integration with Free Pascal, with active threads on installation and debugging. IRC channels on irc., including #fpc (invite-only for project support) and #fpc-alt, enable real-time collaboration among developers and users. Books offer in-depth learning materials, such as the 2025 edition of Free Pascal from Square One by Jeff Duntemann, which introduces core concepts through practical examples for newcomers. The fpdoc tool generates documentation from Pascal , supporting output formats like , , and CHM, though its coverage can vary, with incomplete details for experimental features in the 3.3 development branch. is primarily in English, with limited translations available, such as versions of older manuals (e.g., 2.2 series) and partial support in fpdoc for , , and interfaces. Online compiler playgrounds, including platforms like JDoodle and OneCompiler, allow users to experiment with Free Pascal code without local , supporting quick prototyping and testing of snippets.

Notable Software and Projects

Free Pascal has been instrumental in developing a variety of desktop applications, demonstrating its robustness for graphical user interfaces through integration with the . The itself is a prime example, serving as a cross-platform environment built entirely using Free Pascal and its associated libraries, enabling rapid creation of native applications across multiple operating systems. Among file management and utility tools, stands out as a free, open-source archiver that supports over 200 archive formats, developed using and Free Pascal for its cross-platform compatibility on Windows, , and macOS. Double Commander, a dual-pane inspired by , is another key project, leveraging Free Pascal and to provide features like archive support, FTP integration, and customizable interfaces across desktop environments. Similarly, , a memory scanner and debugger popular for game modification, utilizes code compilable with Free Pascal in compatibility mode, highlighting the compiler's versatility for specialized tools. Beyond desktop utilities, Free Pascal powers domain-specific applications such as , a data comparison tool that employs Free Pascal and for its non-Windows versions, allowing seamless file, folder, and text synchronization on and macOS. In scientific computing, Cartes du Ciel (also known as SkyChart), a software for amateur astronomers, is constructed with and Free Pascal, enabling the rendering of customizable star maps from extensive astronomical catalogs. For graphics and gaming, the Castle Game Engine exemplifies Free Pascal's capabilities in , offering a cross-platform framework for 2D and 3D game development with support for modern rendering APIs like and , all powered by Free Pascal's dialect. Free Pascal's embedded applications are evident in projects, where it facilitates bare-metal programming and interfacing, as seen in the Ultibo environment for direct hardware control without an operating system. As of 2025, the 3.2.x series has seen increased adoption in development due to enhanced architecture support and optimizations for resource-constrained devices, enabling efficient deployment in sensor networks and scenarios. These projects underscore Free Pascal's cross-platform viability, with over 100 notable open-source repositories on showcasing its use in diverse fields from utilities to embedded systems.

References

  1. [1]
    Free Pascal - Advanced open source Pascal compiler for Pascal ...
    Version 3.2.2 is the latest stable version of Free Pascal. Hit the download link and select a mirror close to you to download your copy. The development ...Download · Documentation · FCL · News
  2. [2]
    Free Pascal - Knowledge base
    ### Free Pascal Encyclopedia Entry
  3. [3]
  4. [4]
    Programming with FPC - Free Pascal
    Programming with FPC. This page attempts to give an overview of the tools that the Free Pascal compiler puts at your disposal when you are programming.
  5. [5]
  6. [6]
  7. [7]
    Press Kit - Free Pascal wiki
    Nov 30, 2020 · Free Pascal is an open source Pascal compiler. Work started in 1993 by Florian Klämpfl. Since 1993 Free Pascal has evolved into an advanced piece of technology.Missing: origins | Show results with:origins
  8. [8]
    Free Pascal development team
    Florian Klämpfl. Year of birth: 1975. Job: Working at the university Erlangen ... i386 compiler coordination. Email: florian@freepascal.org. Jonas Maebe.Missing: origins | Show results with:origins
  9. [9]
    FPC git - Free Pascal wiki
    Nov 6, 2024 · Login to GitLab · Click Fork at the upper right corner and choose the settings as you like in the following dialog, then click Fork at the bottom ...
  10. [10]
    Mailing lists - Free Pascal
    There are several mailing lists: FPC-Pascal: Join the Free Pascal mailing list if you want to ask questions, want to be informed or need help in current and ...
  11. [11]
    Release 3.2.4 - Free Pascal wiki
    Jun 22, 2025 · Release preparations, agree on deadline for changes and date for release candidate building, contact platform maintainers who are not subscribed to the core ...Release preparations · RC1
  12. [12]
    News - Free Pascal
    FPC version 3.0.4 has been released! This version is a point update to 3.0 and contains bugfixes and updates packages, some of which are high priority.
  13. [13]
    Free Pascal releases - Lazarus Forum
    Oct 5, 2024 · Hello, FPC v3.2.2, the last official release, was over 3 years ago (May 2021). Every now and then there is some "noise" about FPC v3.2.4 but ...<|control11|><|separator|>
  14. [14]
    Credits - Free Pascal
    This page lists some of the people who have contributed to the Free Pascal compiler project. Of course, the list is not complete.Missing: maintainers | Show results with:maintainers
  15. [15]
    Free Pascal and Lazarus foundation
    The Free Pascal and Lazarus foundation is a non-profit organisation dedicated to the promotion and sponsoring of the open source projects.Missing: sponsorships | Show results with:sponsorships
  16. [16]
    About Information - Free Pascal and Lazarus foundation
    The Free Pascal and Lazarus foundation is a non-profit organization whose goal it is to promote Free Pascal and Lazarus programming.Missing: sponsorships | Show results with:sponsorships
  17. [17]
    Donations - Free Pascal and Lazarus Foundation
    At a later stage, we'll set up per-project funding, so you can donate directly for the implementation of a particular project you would like to see realized.Missing: sponsorships | Show results with:sponsorships
  18. [18]
    Free Pascal - FAQ
    What is Free Pascal (FPC)?. Originally named FPK-Pascal, the Free Pascal compiler is a 32 bit Turbo Pascal compatible Pascal compiler for DOS, Linux, Win32 ...
  19. [19]
    Free Pascal | Borland Pascal Wiki | Fandom
    Free Pascal used to be known as FPK Pascal, since FPK are the initials of the author, Florian Paul Klämpfl. FPK Pascal never meant "Free Pascal Kompiler".Missing: origins | Show results with:origins
  20. [20]
    Installing under DOS or OS/2 - Free Pascal
    (Again, assuming that you installed in the default location). On os/2, Free Pascal installs some libraries from the EMX package if they were not yet installed.
  21. [21]
    12 Programming shared libraries - Free Pascal
    Programming shared libraries. 12.1 Introduction 12.2 Creating a library 12.3 Using a library in a pascal program 12.4 Using a pascal library from a C programMissing: 1.0 features
  22. [22]
  23. [23]
    Free Pascal Compiler - Browse /OldFiles/RealOldFiles/1.0.10 at ...
    Free 32/64/16-bit multi-platform Pascal and Object Pascal compiler. Brought to you by: dmantione, jmaebe, loesje_, marcovtje, and 6 others.
  24. [24]
    [fpc-announce]Free Pascal compiler version 1.0.2 is officially out !
    Oct 12, 2000 · ... release: - Smartlinking for win32 fixed - Smartlinking speedup ... features: - A Turbo Pascal and Delphi compatible compiler for the ...
  25. [25]
    Introduction to Free Pascal 2.0 - OSnews
    May 16, 2005 · What's new? Not surprisingly, many ports have been made. Free Pascal 2 is available for the i386, x86_64, PowerPC/32, Sparc and ARM processors.
  26. [26]
    Road to 2.0 - Free Pascal wiki
    Sep 16, 2020 · English (en) │. This document describes the planned road to FPC 2.0.0 which will be the next stable version of FPC.Missing: ports | Show results with:ports
  27. [27]
  28. [28]
  29. [29]
  30. [30]
    Free Pascal Compiler - Browse /NetBSD/2.6.4 at SourceForge.net
    A small educational compiler for a subset of the Pascal language. A native x86 machine code generator directly emits COM executables for MS-DOS. The compiler ...
  31. [31]
  32. [32]
    FPC New Features 3.0.0 - Free Pascal wiki
    May 25, 2023 · Below you can find a list of new features introduced since the previous release, along with some background information and examples.
  33. [33]
    User Changes 3.0.4 - Free Pascal wiki
    Dec 7, 2017 · Listed below are intentional changes made to the FPC compiler (3.0.4) since the previous release that may break existing code. The list includes ...
  34. [34]
    FPC 3.0.4 released! - Lazarus Forum - Free Pascal
    Nov 30, 2017 · Just a minor point, but the main homepage says it was released on the 28th, not the 30th. Is this correct? Yes. Released on the 28th, announced ...
  35. [35]
    FPC New Features 3.2.0 - Free Pascal wiki
    Feb 7, 2022 · FPC 3.2.0 has been released on June 19th, 2020. Below you can find a list of new features introduced since the previous release, along with some background ...
  36. [36]
    [fpc-announce] FPC 3.2.0 released! - Mailing Lists
    Jun 20, 2020 · [fpc-announce] FPC 3.2.0 released! Marco van de Voort fpc at pascalprogramming.org. Sat Jun 20 12:03:58 CEST 2020.
  37. [37]
    FPC New Features 3.2.2 - Free Pascal wiki
    Dec 2, 2021 · FPC 3.2.2 has been released on May 20th, 2021. Below you can find a list of new features introduced since the previous release, along with some background ...New compiler targets · Units
  38. [38]
    FreePascal 3.2.2 released!
    May 21, 2021 · Free Pascal 3.2.2 is a minor release of the 3.2.x fixes branch. As such, it contains mostly fixes of bugs discovered in the previous version, plus some updates ...
  39. [39]
    [fpc-devel] FPC 3.2.4-rc1 available - Mailing Lists - Free Pascal
    [fpc-devel] FPC 3.2.4-rc1 available. Florian Klämpfl florian at freepascal.org. Thu Jun 19 22:13:35 CEST 2025. Previous message (by thread): [fpc-devel] Speed ...
  40. [40]
    Issues 3.2.4 - Free Pascal wiki
    Issues with 3.2.4-rc1. General. fpcbuild-3.2.4-rc1/fpcsrc/compiler/version.pas says 3.2.3; FPC binary's help message needs to update copyright year to 2025 ...
  41. [41]
    Download - Free Pascal
    Download. Official releases. These are ready made packages, together with an install program, to get you up and running in no time.
  42. [42]
    FPC New Features Trunk - Free Pascal wiki
    Jan 11, 2025 · Below you can find a list of new features introduced since the previous release, along with some background information and examples.All systems · Compiler · Language · Units
  43. [43]
    WebAssembly - Free Pascal wiki
    Oct 6, 2025 · FPC supports three Wasm compilation targets: WASIp1 (WASI 0.1, also known as WASI Preview 1), WASIp1threads (WASI 0.1 with the wasi-threads ...Free Pascal and WebAssembly · Demos
  44. [44]
    Free Pascal compiler modes
    The Free Pascal team tries to create a compiler that can compile as much as possible code produced for Turbo Pascal, Delphi or the Mac pascal compilers.Missing: definition | Show results with:definition
  45. [45]
    Code Conversion Guide - Free Pascal wiki
    Nov 6, 2023 · This page is about how to port or convert existing Delphi or Kylix code to work with the Free Pascal Compiler and Lazarus IDE.
  46. [46]
    [PDF] Lazarus: Open source Delphi or Kylix - Free Pascal
    Jun 24, 2007 · Where possible 100% source-compatible to Delphi's VCL, and also independent of the various widget sets available in Linux or Windows. Since its ...
  47. [47]
    Operator overloading - Free Pascal wiki
    Feb 28, 2024 · Operator overloading refers to re-defining already defined operators with new definitions. The term is – although imprecisely – used for operator definitions.
  48. [48]
    Custom Attributes - Free Pascal wiki
    Dec 30, 2022 · Custom Attributes currently allow you to decorate type definitions and published properties of classes with additional metadata that can be queried using RTTI.
  49. [49]
    Asm - Free Pascal wiki
    Feb 5, 2021 · You can implement whole routines in assembly language, by adding the assembler modifier and writing asm instead of begin for the implementation block.Missing: support | Show results with:support
  50. [50]
    Unicode and codepage support - Free Pascal
    Unicode and codepage support ; WriteStr, Write variables to a string ; Insert, Insert one string or dynamic array in another. ; Copy, Copy part of a string.
  51. [51]
    Dynamic array - Free Pascal wiki
    Dec 14, 2022 · A dynamic array is an array whose dimensions are not known at compile-time. The dynamic array type is not the only type providing variable-length arrays.usage · sizing · initializing · dynamic array literalsMissing: Unicode | Show results with:Unicode
  52. [52]
    cdecl - Free Pascal
    The cdecl modifier can be used to declare a function that uses a C type calling convention. This must be used when accessing functions residing in an object ...Missing: FFI mode switches dialects
  53. [53]
    Conditional compilation - Free Pascal wiki
    Jul 15, 2020 · Conditional compilation refers to compiling or omitting parts of source code based on an expression evaluated at compile-time.Missing: VCL | Show results with:VCL
  54. [54]
    Platform list - Free Pascal wiki
    Sep 30, 2025 · This list presents all processor architectures and operating system platforms supported by Free Pascal (including experimental implementations).Missing: team | Show results with:team
  55. [55]
    FPC JVM - Free Pascal wiki
    ### Status and Features of FPC JVM Backend
  56. [56]
    LLVM - Free Pascal wiki
    Jan 7, 2024 · FPC with an LLVM code generator backend is available on the git main branch. It currently supports the following targets: Darwin/x86-64; Darwin/ ...Missing: 3.3 | Show results with:3.3
  57. [57]
    Future Plans - Free Pascal
    Planned for later versions. Linking with C++ code; Higher level optimizer including liveliness analysis; LLVM backend support; Support for more architectures ...
  58. [58]
    Cross compiling - Lazarus wiki
    Sep 30, 2025 · The official Free Pascal Compiler installer for macOS includes an i386 32 bit compiler and all units necessary to compile i386 programs (use ...Missing: ppcross | Show results with:ppcross
  59. [59]
    Free Pascal supported targets
    Sep 30, 2024 · Here's a list of all targets that are supported by the Free Pascal compiler. They are classified into five groups.
  60. [60]
    Android - Free Pascal wiki
    Nov 22, 2021 · Support for the Android target is present starting from FPC 3.0. Supported CPUs: ARM ( CPU_TARGET=arm ); x86 ( CPU_TARGET=i386 ); MIPS ( ...
  61. [61]
    iPhone/iPod development - Lazarus wiki
    Aug 2, 2020 · Compiling and running pure Pascal applications on iPhone simulator. Compiling and linking requires a regular ppc386 compiler.Installation · Apple's Licence limitations · Compiling and running pure...
  62. [62]
    Lazarus Homepage
    Lazarus Release 4.0 - May 05, 2025, 11:49:29 am ... The Lazarus team is glad to announce Lazarus 4.0. This release was built with FPC 3.2.2. Here is the list of ...
  63. [63]
    IDE - Free Pascal wiki
    Aug 2, 2024 · An Integrated Development Environment or IDE is a system comprising an editor, compiler, and means to execute compiled code immediately after compiling.
  64. [64]
    Lazarus Release 4.0
    May 5, 2025 · The Lazarus team is glad to announce Lazarus 4.0. This release was built with FPC 3.2.2. Here is the list of changes for Lazarus and Free Pascal.Missing: current | Show results with:current
  65. [65]
    Downloads - Lazarus IDE
    Downloads. You can download Lazarus 4.2 which is accompanied by FPC 3.2.2 from this page. Lazarus is cross platform and supported on various platforms.
  66. [66]
    Dev-Pascal - Dev-C++ Official Website
    Dev-Pascal is a full-featured integrated development environment (IDE) to develop Windows or console-based Pascal applications using the Free Pascal or GNU ...
  67. [67]
    fp-ide-3.2.2 — Debian testing
    Feb 8, 2025 · This binary is the integrated development environment of the Free Pascal Compiler (FPC) which is an advanced Turbo Pascal and Delphi (7.0) ...
  68. [68]
    Geany: Home
    Many Plugins. With Geany's plugin system, users can get more features into Geany and developers can easily add new features and/or improve existing ones.Download · Download Geany 2.1.0 · Third-Party Packages · About Geany
  69. [69]
    Pascal - Visual Studio Marketplace
    The Pascal extension adds support for Pascal, Delphi, and FreePascal, with syntax highlighting, snippets, and code navigation.
  70. [70]
    Options controlling the kind of output. - Free Pascal
    Include the source code lines in the assembler file as comments. Write node information in the assembler file (nodes are the way the compiler represents ...
  71. [71]
    fpc(1): Free Pascal Compiler binary - Linux man page - Die.net
    The compiler uses ld(1) and can use as(1) (see parameter -Aas), but also has its own binary object writer. The current main targets are Go32V2 (Dos DJGPP ...
  72. [72]
    Creating resources - Free Pascal
    The Free Pascal compiler itself doesn't create any resource files; it just compiles them into the executable. To create resource files, you can use some GUI ...
  73. [73]
    PPUDUMP - Free pascal unit dump program
    ppudump writes the contents of a Free Pascal unit file to standard output. It gives a listing of all definitions in the unit file.Missing: ppcross fpmake windres fpdoc
  74. [74]
    FPDoc Free Pascal code documenter: Reference manual
    Free Pascal code documenter: Reference manual. Reference manual for FPDoc. Document version 3.2.2. May 14, 2021.Missing: fpc ppcross ppudump
  75. [75]
    FPMake - Free Pascal wiki
    FPMake is a build-system for Pascal code specifically. It can be compared with other build systems like Make, cons, scons, etc.Missing: ppcross ppudump fpdoc
  76. [76]
    Programming Tools - Free Pascal
    Free Pascal includes tools like h2pas for C header translation, fpcmake for makefiles, ppdep for depend files, and ptop for code formatting.Missing: build | Show results with:build
  77. [77]
    Reference for package 'rtl' - Free Pascal
    The Run-Time Library is the basis of all Free Pascal programs. It contains the basic units that most programs will use, and are made available on all platforms.
  78. [78]
    Reference for unit 'System'
    ### Summary of the System Unit in Free Pascal RTL
  79. [79]
  80. [80]
  81. [81]
    Reference for unit 'sysutils'
    ### Summary of SysUtils Unit: Strings, Dates, Key Routines
  82. [82]
  83. [83]
  84. [84]
    Reference for unit 'Classes'
    ### Summary of Classes Unit: Collections, Object Support
  85. [85]
    Reference for unit 'Math'
    ### Summary of Math Unit: Mathematical Routines
  86. [86]
    TThread - Free Pascal
    The TThread class encapsulates the native thread support of the operating system. To create a thread, declare a descendant of the TThread object and override ...
  87. [87]
    File input/output routines - Free Pascal
    Reference for unit 'sysutils' (#rtl). File input/output routines. Functions for reading/writing to file. Name, Description. FileCreate, Create a file and return ...Missing: networking | Show results with:networking
  88. [88]
    FPC Unicode support - Free Pascal wiki
    Nov 28, 2023 · This page gives an overview of the code page-related behaviour of these string types, the current level of support in the RTL, and possible future ways of how ...
  89. [89]
    Size Matters - Free Pascal wiki
    Jan 7, 2024 · Free Pascal uses GDB as debugger and LD as linker. These work with a system of in-binary debuginfo, in the older stabs or newer dwarf format.<|separator|>
  90. [90]
    File size and smartlinking - Free Pascal wiki
    Jan 24, 2020 · In Free Pascal, "smartlinking" is removing unused code and variables from the final executable. This is done during the linking stage.
  91. [91]
    fcl-db - Free Pascal wiki
    Apr 1, 2021 · The package fcl-db contains most of FPC's higher level database system, plus table drivers for some popular systems.
  92. [92]
    FCL - Free Pascal wiki
    Feb 14, 2020 · The Free Component Library (FCL) consists of a collection of units, providing components (mostly classes) for common tasks.Missing: NumLib fppkg<|control11|><|separator|>
  93. [93]
    NumLib - Free Pascal wiki
    Aug 14, 2020 · NumLib is a numerical package. Authors: Kees van Ginneken, Wil Kortsmit and Loek van Reij of the Computational centre of the Eindhoven University of Technology.
  94. [94]
    Index of all packages and units - Free Pascal
    fpopenapi.pascaltypes (fcl-openapi), fprsa (fcl-hash), fpwriteqoi (fcl-image) ... numlib (numlib). ncurses (ncurses), network (libogcfpc), Notification ...
  95. [95]
    SQLite - Free Pascal wiki
    Jul 30, 2024 · SQLite is an embedded (non-server) single-user database that can be used in FPC and Lazarus applications. Various drivers can be used to access SQLite from FPC ...
  96. [96]
  97. [97]
  98. [98]
    fppkg - Free Pascal wiki
    Nov 13, 2020 · Fppkg is the Free Pascal package manager. It is used to compile and install Free Pascal packages which are based on FPMake.Missing: NumLib | Show results with:NumLib
  99. [99]
    FPPKGRepository
    Free Pascal Package Repository. This is the Free Pascal packages repository. An overview of all packages can be find below. Please login to add, ...Missing: bundled | Show results with:bundled
  100. [100]
  101. [101]
  102. [102]
    peazip/PeaZip - GitHub
    PeaZip is written in Lazarus/FreePascal, and Windows installers are scripted using InnoSetup, also using a Pascal-like syntax. Useful Links. Downloads · Add ...
  103. [103]
    Development · doublecmd/doublecmd Wiki - GitHub
    Double Commander is developed with Free Pascal and Lazarus. Free Pascal Compiler. It is always preferred to use latest FPC release to build Double Commander.
  104. [104]
    Cheat Engine. A development environment focused on modding
    Cheat Engine is a development environment focused on modding games and applications for personal use.Releases 12 · Dark Byte cheat-engine · Issues 1.2k · Pull requests 27
  105. [105]
    BC Development - Scooter Forums
    Jun 15, 2018 · Beyond Compare is written using a combination of Delphi XE and XE7 on Windows using the VCL widget set, and Free Pascal and Lazarus on macOS and Linux.
  106. [106]
    start [Skychart] - i . net
    Nov 6, 2015 · Cartes du Ciel Version 3 use Lazarus/FreePascal compiler and the following component : The Libsql component to access the SQLite and MySQL ...
  107. [107]
    Castle Game Engine - Free Open-Source Cross-Platform 3D and 2D ...
    Create cross-platform 3D and 2D games with Castle Game Engine. Free, open-source engine with comfortable visual editor and powerful modern Object Pascal API ...Why use Pascal? · Features · Modern Object Pascal · Download
  108. [108]
    ARM Embedded Tutorial - FPC and the Raspberry Pi Pico
    Mar 8, 2024 · This tutorial uses Raspberry Pi Pico, requires two boards (one for target, one for debug), and uses a patched FPC and dedicated Lazarus install.Missing: projects | Show results with:projects
  109. [109]
    Fr0sT-Brutal/awesome-pascal - GitHub
    A curated list of awesome Delphi, FreePascal and other Pascal frameworks, libraries, resources, and shiny things. Inspired by awesome-xxx stuff.<|control11|><|separator|>