Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

Jump to content

vbcc

From Wikipedia, the free encyclopedia
vbcc
DeveloperVolker Barthelmann
Release1995; 31 years ago (1995)
Stable release
0.9h patch 3 / May 22, 2022; 4 years ago (2022-05-22)
Written inANSI C
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, 65C02, 65C816 (in native mode), 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]

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]
  • Sunitha, K.V.N. (2013). Compiler Design. Pearson India. p. 20. ISBN 9-332-50029-0.
  • Aycock, John (2016). Retrogame Archeology: Exploring Old Computer Games. John Aycock. p. 82. ISBN 9-783-31930002-3.
[edit]