vbcc

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
vbcc
DeveloperVolker Barthelmann
Initial release1995; 31 years ago (1995)
Stable release
0.9h patch 3 / May 22, 2022; 4 years ago (2022-05-22)
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inANSI C
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemMultiplatform
    TypeCross compiler
    LicenseFreeware for non-commercial use
    Websitewww.compilers.de/vbcc.html
    Left path toolchain of Motorola 68k, right path toolchain of PowerPC

    vbcc is a portable and retargetable ANSI C compiler. It supports C89 (ISO/IEC 9899:1989) as well as parts of C99 (ISO/IEC 9899:1999).

    It is divided into two parts. One is target-independent and the other is target-dependent. vbcc provides complete abstraction of host-arithmetic and target-arithmetic. It fully supports cross-compiling for 8-bit, 16-bit, 32-bit and 64-bit architectures.

    Embedded systems are supported by features such as different pointer sizes, ROM-able code, inline assembly, bit-types, interrupt handlers, section attributes, and stack usage calculation (depending on the backend).

    vbcc supports the following backends, with different degrees of maturity: 68k, ColdFire, PowerPC, 6502, VideoCore, 80x86 (386 and above), Alpha, C16x/ST10, 6809/6309/68HC12, and Z-machine.

    The compiler itself can run on all common operating systems, including Windows, Mac OS X, and Unix/Linux.

    Optimizations

    [edit | edit source]

    The compiler provides a large set of high-level optimizations as well as target-specific optimizations to produce faster or smaller code. It is also able to optimize across functions and modules. Target-independent optimizations supported by vbcc include:

    References

    [edit | edit source]
    • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]