Advanced RTOS, embedded real-time OS, compact OS, IDE, Software development toolkits, embedded c compilers, Multicore debugger, hardware probes, static source code analysis tool, secure hypervisor, virtual prototyping platform

news

Green Hills Unveils Industry's First Compiler for Embedded C++

For More Information, Contact:
Green Hills Software, Inc.
Tamara Kleidermacher
Tel: 805.965.6044
tamara@ghs.com
Davis-Marrin Communications
Will Curtis
Tel: 858.573.0736
willc@davismarrin.com
 

SANTA BARBARA, Calif., Sept. 28, 1997 - Green Hills Software today announced a new C++ compiler that includes the industry's first implementation of Embedded C++ (EC++), a subset of C++ optimized for resource-constrained embedded applications. The new EC++ compiler, implemented as a set of switch options within the C++ compiler's broader framework, achieves a 30-90% improvement in code size and run-time efficiency over full-blown C++, particularly for I/O intensive applications.

Remarked Green Hills President Dan O'Dowd, "We've implemented our new compiler using a versatile array of switch options that lets programmers select any subset of C++ they want, from bare bones C, to full-blown C++. But we believe that EC++ hits the sweet spot between C and C++, preserving the object-oriented capability of C++ while achieving the memory and execution efficiency of C."

Green Hills' new C++/EC++ compiler is fully compatible with the draft specification produced by the EC++ Technical Committee. The compiler will initially be available for Motorola 68k and PowerPC family processors, with versions for the Hitachi SH, MIPS, Coldfire, and NEC V800 processors following later this year. The compiler will also produce native code for workstations running Solaris 2.5. Development host options include PCs and workstations running Windows NT, Windows 95, Solaris 2.5, and HP/UX 10.0.

EC++ provides many of C++'s object-oriented facilities, which enhance code reusability and simplify the partitioning and maintenance of complex code. However, it omits a number of C++ features that aren't essential for most embedded applications, but significantly increase code size and impair run-time efficiency. Included are multiple inheritance, virtual base classes, exceptions, runtime type identification, virtual function tables, and mutable specifiers.

Multiple inheritance, exceptions, and runtime type identification are the biggest contributors to C++ runtime overhead. Moreover, the overhead associated with these facilities is incurred regardless of whether they are used in the target application. Features such as mutable specifiers, by contrast, add little overhead to the runtime environment, but needlessly complicate compiler design and embedded systems programming. Eliminating these features enables EC++ to achieve substantial reductions in the size of class libraries and corresponding improvements in runtime efficiency. It also helps simplify programming.

A number of features that have been initially omitted from the EC++ specification, such as name space support and new-style casts, may yet be restored upon further consideration. In the meantime, Green Hills' C++/EC++ compiler will make these features available as flag options. Programmers who want to take advantage of these features need only enable the appropriate option. Programmers who do not need these features need only omit them from their source code.

Green Hills' C++/EC++ compiler is fully integrated with the MULTI® Development Environment, which automates every aspect of embedded software development. Featuring a window-oriented editor and an RTOS-aware source-level debugger, MULTI also includes a run-time error checker, application profiler, and project/version control.

The heart of the MULTI environment is the MULTI debugger, which lets programmers debug their code using mixed assembly and high-level language formats at either the process or system level. The MULTI debugger also includes a class browser that simplifies C++/EC++ debugging.

MULTI's program builder, editor, and debugger are tightly integrated to offer quick, convenient single- and double-click transfers between debug mode and full source editing. For example, simply clicking on a compiler error message brings the user to the editor, opens the file containing the error, moves the cursor to the line containing the error, and highlights the error.

For sales information on Green Hills Software's products, please call 1-805-965-6044 or email inquiries to sales@ghs.com.