vbcc

{{lowercase|vbcc}}

{{Infobox Software

| name = vbcc

| screenshot =

| caption =

| developer = Volker Barthelmann

| released = {{Start date and age|1995}}

| latest_release_version = 0.9h patch 3

| latest_release_date = {{Start date and age|2022|05|22}}

| programming_language = ANSI C

| operating_system = Multiplatform

| genre = Cross compiler

| license = Freeware for non-commercial use

| website = {{URL|www.compilers.de/vbcc.html}}

}}

File:Vbcc.svg

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

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

  • {{Cite book

|first=K.V.N.

|last=Sunitha

|title=Compiler Design

|year=2013

|publisher=Pearson India

|page=20

|isbn=9-332-50029-0

}}

  • {{Cite book

|first=John

|last=Aycock

|title=Retrogame Archeology: Exploring Old Computer Games

|year=2016

|publisher=John Aycock

|page=82

|isbn=9-783-31930002-3

}}