Dr. Volker Barthelmann´s Compiler Page (original) (raw)

Homepage
Curriculum Vitae
Profile/skills
Publications
Products and Services
Contact


Deutsche version


Software:
vbcc
vasm
vlink

vbcc - portable ISO C compiler

vbcc is a highly optimizing portable and retargetable ISO C compiler. It supports ISO C according to ISO/IEC 9899:1989 and most of ISO/IEC 9899:1999 (C99).

It is split into a target-independent and a target-dependent part, and provides complete abstraction of host- and target-arithmetic. Therefore, it fully supports cross-compiling for 8, 16, 32 and 64bit architectures as well as non-8bit-byte-based architectures.

Embedded systems are supported by features like different pointer-sizes (e.g. differently sized function- and object-pointers or near- and far-pointers), ROM-able code, inline-assembly, bit-types, interrupt-handlers, section-attributes, stack-calculation and many others (depending on the backend).

vbcc provides a large set of aggressive high-level optimizations as well as target-specific optimizations to produce faster or smaller code. Rather than restricting analysis and optimization to single functions or files, vbcc is able to optimize across functions and even modules. Target-independent optimizations include:

Anybody interested in additional backends or writing an own backend, can contact me by mail.

All common operating systems can be supported as host systems, including Windows and Unix/Linux systems.


Current vbcc distribution for AmigaOS, compiled by Frank Wille, author of several assemblers and linkers usable with vbcc.


vbcc for 6502:

Release 4 (patch 2) of vbcc for 6502 (binaries for Windows and Linux)

Release 4 (patch 1) of vbcc for 6502 (binaries for Windows and Linux)

Release 4 of vbcc for 6502 (binaries for Windows and Linux)

Release 3 (patch 3) of vbcc for 6502 (binaries for Windows and Linux)

Release 3 (patch 2) of vbcc for 6502 (binaries for Windows and Linux)

Release 3 (patch 1) of vbcc for 6502 (binaries for Windows and Linux)

Release 3 of vbcc for 6502 (binaries for Windows and Linux)

Release 2 of vbcc for 6502 (binaries for Windows and Linux)

Release 1 of vbcc for 6502 (binaries for Windows and Linux)

Please have a look at the README included.


vbcc for 65816:

Release 1 of vbcc for 65816 (binaries for Windows and Linux)

Please have a look at the README included.


The second alpha release of a toolchain for 6809/6309/68hc12 (binaries for Windows and Linux)

Please have a look at the README included.

Older versions:

Preview of a toolchain for 6809/6309/68hc12


Preview of a toolchain targeting the VideoCore IV GPU used in the Raspberry PI.

vbcc for VideoCore
(more to come)


Current Snapshot

vbcc docs (pdf)

Download compiler sources (22/02/2025).

Download multi-target Windows (x64) binaries of vbcc/vasm/vlink (29/04/2022).

Download statically-linked multi-target Linux (x64) binaries of vbcc/vasm/vlink (29/04/2022).

Download statically-linked multi-target Linux (arm, e.g. RaspberryPi) binaries of vbcc/vasm/vlink (29/04/2022).