Pelles C for Windows Copyright © 1999-2019
Pelle Orinius
 Current version:
Version editor
You can find more screenshots here.
 ..:: Overview
Summary of Pelles C:
Pelles C for Windows is a complete development kit for Windows and Pocket PC. It contains among other things an optimizing C compiler, a linker, a resource compiler, a message compiler, a make utility and install builders for both Windows and Pocket PC.

It also contains an integrated development environment (IDE) with project management, debugger, source code editor and resource editors for dialogs, menus, string tables, accelerator tables, bitmaps, icons, cursors, animated cursors, animation videos (AVI's without sound), versions and XP manifests.

The compiler is based on LCC (by Chris Fraser and David Hanson), and the install builder for Windows is based on NSIS. Both are heavily modified.


  • Integrated resource editor.
  • Integrated bitmap, icon and cursor editor.
  • Integrated animated cursor and video editor.
  • Integrated hex-dump editor.
  • Integrated source-level debugger.
  • Integrated source code editor with Win32 API call tips.
  • Project management.
  • Inline assembler with Intel syntax.
  • Support for custom controls in the dialog editor.
  • Support for additional project wizards.
  • Support for Microsoft's exception handling: __try, __except, __finally, __leave.
  • Support for Microsoft's new import libraries.
  • Support for delayed loading of DLL's, much like Microsoft.
  • Support for most C99 features.
  • Support for Pocket PC.
  • Pelles C is free!
  • History of Pelles C:
    It sort of started 1987-1988...

    Pelle worked for a consultant company that also sold several products written in BASIC (for a then popular Swedish micro-computer). When IBM PC started to catch on, it was decided it would be cheaper to port the BASIC programs to IBM PC, rather than writing new programs. Several different solutions were tried, and used, but there were many problems and bugs with that. Finally he thought: "I really can't do worse myself".

    He started writing an interpreter in assembler (this was DOS with 640 kB, remember?) as a hobby project. When finished, he presented it to his boss. He eventually said OK. Over time this evolved into a compiler for DOS, a compiler for 16-bit Windows, and finally a complete build system for 32-bit Windows (not only a compiler, but also a linker, a library manager, a make utility, and so on). After many years working on this, around 1999, it was finally decided that more main-stream development tools should be used.

    Pelle then thought it would be a waste to just throw away a perfectly good linker, library manager and so on - why not add a compiler for the language they were all written in: C.

    Writing a C compiler from scratch seemed like a huge task, so starting from an existing project made more sense.

    He looked around on the Internet, found several projects, and finally decided that LCC (from Princeton) was the best for him. It didn't produce very good code for X86, lacked inline assembly, structured exception handling, and many other things he was used to from the Microsoft compiler, but it had potential. It's source code tree wasn't huge, and it seemed to be well written.

    Pelle started adding the missing features, improving the code quality, while also trying to learn LCC. This took several years - including detours into Pocket PC and the C99 standard. The C runtime and IDE wasn't done in a coffee-break either. Finally he had something working.

    After using it for a while, Pelle thought "if I find this useful, maybe someone else will...?" so he created his web page, and here we are...
    HeffnerCMS Version 1.22
    Copyright © 2006 - 2019 Christian Heffner