vbcc

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).

vbcc
Developer(s)Volker Barthelmann
Initial release1995 (1995)
Stable release
0.9g / October 4, 2019 (2019-10-04)
Written inANSI C
Operating systemMultiplatform
TypeCross compiler
LicenseFreeware
Websitewww.compilers.de/vbcc.html

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, 80x86 (386 and above), Alpha, C16x/ST10, 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:

gollark: World governance has advantages, but also means that institutional brokenness affects *everyone*.
gollark: I don't agree.
gollark: It is a cool idea. Quite elegant, apparently liked by economists, and fair.
gollark: ++remind 20y check America
gollark: Approximate Markdown compatibility.

References

  • Sunitha, K.V.N. (2013). Compiler Design. Pearson India. ISBN 9-332-50029-0. page 20
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.