Pelles C 5.00.1
Publisher's Description:
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 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.
Latest Changes:
- Added support for 64-bit Windows (AMD64/X64 processors); only tested on Windows Vista 64-bit edition
- Windows 9X is no longer supported as a build environment, and special handling for that environment has been removed (except in the C runtime; compiled programs should still run on Windows 9X)
- Many tools are now using the Unicode version of the Windows API; they are marked below as 'Unicode-only' programs
- Added support for UTF-8 and UTF-16LE encoded text files (source files, resource scripts, module definition files, and so on). The support for UTF-16LE is more complete at the moment
- Added new code signing utility: POSIGN (Unicode-only program)
- Added support for C99 complex math in the compiler and the C runtime (_Complex but not _Imaginary, for now)
- Added exprimental support for more secure C runtime functions from ISO TR24731-1
- Library and include files are now in separate directories for Win32/Win64/WinCE. Renamed some WinCE libraries back to the original Microsoft names, and updated almost all WinCE include files
- Speed improvements in the code generator, shared by the C compiler and the macro assembler
- Revised thread locking for stream functions in the C runtime
- Added support for (thread-specific) locale settings in the C runtime
- Some C runtime functions, like memcpy and memset, are now more optimized (X86, AMD64). Will use MMX/SSE instructions when available on the host machine
- The debugger and the binary file dumper now use the same disassembler library (consistency)
- Added more error codes to errno.h
- Added non-standard 'P' format specifier for the printf family
- Added more support for huge files, including a modified fpos_t type
- Removed (outdated) DirectX files for desktop Windows; people with more interest in DirectX than me can probably figure out how to use the new versions anyway
- Bug fix: negative sign possibly lost by _itoa(), _ltoa(), _itow(), _ltow()
- Unicode-only program
- Added support for 64-bit project types (POIDE64 only)
- Added support for 64-bit debugging (and 32-bit debugging on Windows Vista; POIDE64 only)
- Added support for Install builder projects, and CAB builder projects (Windows Mobile)
- Added support for storing settings in XML files using new /xml command line option
- Added support for explicit selection of UI language using new /L command line option
- Added prestart program (poide.com) for displaying help using new /? command line option
- Removed dependencies on WinHelp, and revised F1 help for the entire IDE
- Revised handling of the 'system definitions' database, and browse information in general
- Revised focus handling; tab pages and the project pane can now receive focus, for example. Added keyboard interface for tab pages
- Added (limited) support for importing Visual Studio 2005/2008 projects (maybe 2003 too)
- Added Unicode version of all add-in macros
- Increased limit to 16 user-defined tools and help files
- Added support for UTF-8 and UTF-16LE encoded text files (source editor)
- Added support for UTF-8 and UTF-16LE encoded files in 'Find in files', which is now also less fuzzy about white-space
- Added support for code snippets by language, including 16 'surround by' snippets (source editor)
- Revised all syntax color parsers (source editor)
- Added folding of #if, #ifdef, and #ifndef blocks (source editor)
- Added a few more attempts at making the 'smart indent' mode less stupid (source editor)
- Added support for UTF-8 and UTF-16LE encoded project files
- Moved default location for project files away from the 'Program Files' branch
- Added support for building (and rebuilding) an entire workspace
- The extended project settings (.ppx files) are now stored in XML files
- Added less optional project settings for LIB and INCLUDE environment variables, together with predefined project symbol PellesCDir, to handle library and include files being moved to separate directories
- Added more consistent use of LIB and INCLUDE environment settings (open #include file, scan for dependencies, and so on)
- Added 'Open As' to project tree context menu; makes it easier to open a resource script in text mode, a source file in hex mode, and so on (previously supported by add-ins)
- Added support for code signing in projects (using new POSIGN tool)
- Added Unicode version of project wizard API functions
- Added support for UTF-8 and UTF-16LE encoded resource scripts (resource editor)
- Added 'New HTML resource' command (resource editor)
- Added support for new dialog controls: IP-address, Native font (maybe not so useful), Split Button, Command Link, SysLink, and Net Address (dialog editor)
- Added support for MS Shell Dlg and MS Shell Dlg 2 font in extended dialogs (dialog editor)
- Added help identifier property for extended dialogs (dialog editor)
- Added a few more selections to the version resource editor
- Added 'Find' and 'Find next' support to stringtable resource editor
- Symbolic names of styles introduced by custom controls will now be written directly to the resource script if the proper include file wasn't included (avoiding problems reopening the script)
- Added options dialog for debugging standalone EXEs
- Added support for debugger pseudo-variables @ERR, @PID, @TID, and @TIB/@TEB
- Added support for selecting groups of registers to view in the debugger
- Added support for debugging custom controls
- Revised stack walking code for X86, ARM, and AMD64/X64 (debugger)
- Revised code for connecting to, and disconnecting from, the remote server (Windows Mobile)
- Added proportional image resizing (image editor)
- Added gradient rectangle tool (image editor)
- Added support for PNG compression in Windows Vista icons (image editor)
- Added support for transparent color in GIF files (Image editor)
- Added support for 24 bits-per-pixel PCX images (pretty obsolete format, but trivial enough)
- Added 'Find' and 'Find next' support to binary dump editor (search for ASCII string inside the binary data)
- Added better scrolling in the binary dump editor
- Minor changes for Windows Vista, and several minor bug fixes
- Removed exprimental custom assembler support
- Unicode-only program (preprocessor and lexer)
- Added support for AMD64/X64 code generator
- Added support for UTF-8 and UTF-16LE encoded source files; removed support for #pragma code_page()
- Added __POCC_TARGET__, __POCC_DEBUG__, and __STDC_IEC_559_COMPLEX__ builtin macros
- Revised memory management; should use less overall memory
- Added support for #pragma once
- Added support for C99 STDC #pragma's CX_LIMITED_RANGE, FENV_ACCESS, and FP_CONTRACT
- Added stricter C99 float-to-int conversions in standard mode
- Added C99 block scopes for selection and iteration statements
- Added support for preprocessing to file (new /P option)
- Revised exception and unwind handling code (X86, ARM)
- Revised _alloca() code
- Changed /Op option to /fp option; /Op maps to /fp:precise, /Op- maps to /fp:fast. The /fp option will affect more things than the old /Op option
- Added many new intrinsic functions; see help file
- Added parsing of __declspec(deprecated[(text)]); no message is currently issued (too annoying when using Microsoft include files)
- Alignment requirement larger than 8 bytes, for stack variables, will attempt to align the stack pointer (X86)
- Added __alignof operator (and __alignof__ extension)
- Use of __declspec(align(n)) will propagate better for nested structs
- Revised bitfield handling and added support for long long bitfields (Microsoft mode)
- Added support for UCN in character literals, string literals, and identifiers
- Added support for the '$' character in identifiers
- Revised __fastcall handling to be more consistent with Microsoft
- Added annotation of the C runtime exeception handler for /SAFESEH linker option
- Bug fix: postfix expression lost for compound literals
- Bug fix: compound literals didn't always work with sizeof operator
- Bug fix: some cases of pointer to VLA didn't work
- Bug fix: fixed association bug with C99 idempotent type qualifiers
- Bug fix: added C99 storage class check for identifier declared in a for statement
- Bug fix: __leave statement only allowed in __try blocks
- Bug fix: functions returning a struct or union in Microsoft mode will now return a pointer to the hidden value location
- Bug fix: empty inline functions could cause an access violation
- Bug fix: some cases of indexing a C-symbol array didn't work in the inline assembler (X86)
- Bug fix [5.00.1]: a return statement, using the conditional operator (?:), containing a fetch with postfix increment (*p++), usually turned the postfix increment into a prefix increment (X86, X64)
- Bug fix [5.00.1]: a float-to-integer conversion, in standard C mode, without optimizations, produced the wrong code sequence (X86)
- Added support for :DEF: operator in ARM mode
- Added support for bar-delimited identifiers in ARM mode
- Added warning for label without colon in ARM mode
- Added support for Intel Wireless MMX instructions in ARM mode
- Added .CORE processor type in X86 mode
- Added support for .SAFESEH directive in X86 mode
- Changed fastcall handling to match the C compiler
- Added WRT operator, for RIP-relative addressing in AMD64 mode
- Added minimal support for UTF-16 encoded source files (see help file)
- Added better error message for bogus character in a source file
- Added support for SSSE3 and SSE4 instructions in X86 mode
- Revised IFB, ELSEIFB, IFNB, ELSEIFNB handling (X86, AMD64)
- Added support for forward definition of PTR type (X86, AMD64)
- Unicode-only program
- Added /o option; a combination of the /Fo and /Fe option, depending on the file extension
- Added better support for just linking files
- Added recognition of .o file extension
- Response files may now use UTF-8 and UTF-16LE encoding
- Added support for AMD64/X64 machine
- Added support for DLL forwarding: from the command line, and in module definition files
- Removed /OLDIMPLIB option and support for old style import libraries
- The module definition file parser will now check for 'stop characters' rather than 'valid characters', allowing more oddball symbol names (without quotes)
- Module definition files may now use UTF-16LE encoding
- Response files may now use UTF-16LE encoding
- Added /SAFESEH option (X86)
- Added /ALLOWISOLATION option
- Added /NXCOMPAT option
- Added /ALTERNATENAME option
- Added /MANIFEST, /MANIFESTDEPENDENCY, and /MANIFESTFILE options
- Added recognition of .a file extension (silly, but anyway)
- Added more tests to reject bogus object files from buggy external translators (not from Pelle's toolchain)
- Revised internal default value handling; slightly better at guessing some values the lazy programmer didn't bother to specify..
- Revised stub file management and alignment
- Linking with a library containing multiple/merged import libraries should work now
- Added support for AMD64/X64 machine
- Will now auto-detect file types based on content, not just the file extension (recognizing .o and .a file extension, for example)
- Removed /OLDIMPLIB option and support for old style import libraries
- The module definition file parser will now check for 'stop characters' rather than 'valid characters', allowing more oddball symbol names (without quotes)
- Module definition files may now use UTF-16LE encoding
- Response files may now use UTF-16LE encoding
- Added dump of certificates
- Added dump of new items for AMD64/X64
- Added /UNWINDINFO option
- Added /LOADCONFIG option
- Added support for SSSE3 and SSE4 instructions in the disassembler (X86)
- Added support for UTF-16LE encoded source files (not UTF-8)
- Added LONGLONGS format to /RAWDATA option
- Unicode-only program
- Added support for UTF-8 and UTF-16LE encoded resource scripts
- Added support for Windows Vista icons (using PNG compression)
- Added support for PUSHBOX controls (consistency)
- Added support for extra control data in DIALOGEX resources (currently *not* supported by the IDE)
- Added /N option; support for appending a null character to all strings in the STRINGTABLE resource
- Unicode-only program
- Added support for UTF-8 and UTF-16LE encoded message scripts
- Added support for OutputBase statement
- Added support for TagName statement, and /T option
- Browse information manager:
- Unicode-only program
- Added support for UTF-8 and UTF-16LE encoded source files
- Added support for parsing install builder scripts
- Browse information is now stored in SQLite3 databases
- Unicode-only program
- Added support for UTF-8 and UTF-16LE encoded makefiles
- Added support for '.phony' targets
- Fixed path handling code for pre-requisites
- Unicode-only program
- Unicode-only program
- Added support for 64-bit executables
- Added variables $ADMINTOOLS, $ADDDATA, $COMMONADMINTOOLS, $COMMONAPPDATA, $COMMONDESKTOP, $COMMONDOCUMENTS, $COMMONFILES32, $COMMONFILES64, $COMMONFILES, $COMMONSMPROGRAMS, $COMMONSMSTARTUP, $COMMONSTARTMENU, $DOCUMENTS, $PROGRAMFILES32, $PROGRAMFILES64 a
- Added SetRegView statement
- Added support for Windows Vista, and minimal support for 64-bit Windows
- Added support for UTF-16 encoded scripts
- Added support for user-defined _setup.xml (CPF) using new /Fx option
- Unicode-only program
- Revised code for connecting to, and disconnecting from, the remote device (Windows Mobile)
- Unicode-only program
- Revised code for connecting to, and disconnecting from, the remote device (Windows Mobile)
- Screen capture for Windows CE:
- Unicode-only program
- Revised code for connecting to, and disconnecting from, the remote device (Windows Mobile)
- Copy utilities for Windows CE:
- Unicode-only program
- Bug fix: will remove the partial file on failure
Screenshot:
Latest User Reviews:
| Reviewer: | ssb | Jul 17, 2008 |
| Version: | 5.00.1 | |
| |
Pelles C is not like the rest freeware or open source compilers. It's a full blown pro class 32/64 bit optimized compiler, assembler, linker, source/binary debugger and resource compiler all built into an excellent IDE with advanced editing and project management features.
Even better, it's not a bloated C++ dialect, but pure C (supporting most C99 extensions). Ultra fast compile and run times make Pelles C a really professional tool for real world development. Great for those who learn C programming and other low levelers too.
PS: I would rate Pelles C with 5 even if it was an expensive commercial compiler. But surprise - surprise, it's free!
Great job Pelle.
* HIGHLY RECOMMENDED *
|
| Rating: |  |
|
|
| Released: | July 15, 2008 |
| Publisher: | Pelles |
| Homepage: | Pelles C |
|---|
| Downloads: | 217 |
| License: | Freeware |
| OS Support: | Windows (All) |
| Uninstaller?: | Yes |
|---|
| Skin Support?: | Supports XP Themes |
|---|
| Rating: | Awaiting 2 votes
|
|