Leading the Embedded World


News & Press

Green Hills provides thread-safe exception handling and ANSI C++ support for VxWorks applications development

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
 

Royal Ascot, Great Britain, Embedded Systems Conference, September 7-9, 1998 --Green Hills Software, Inc., announces the availability of its C++/Embedded C++ (EC++) Optimizing Compilers for Wind River Systems' VxWorks Real-Time Operating System. The fully compliant Green Hills C++ Compiler enables effective use of C++ in embedded applications and provides thread-safe exception handling for VxWorks.

EC++ provides many of C++'s object-oriented facilities that 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 yet significantly increase code size and impair run-time efficiency, including multiple inheritance, virtual base classes, exception handling, runtime type identification, virtual function tables, and mutable specifiers.

Multiple inheritance, exception handling, 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 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 namespace 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.

The C++ language provides a powerful capability that enables errors to be automatically caught and handled during program execution. Traditionally, multi-tasking applications have not been able to take advantage of these features because the underlying C++ implementation does not support thread-safe, or reentrant, exception handling structures. Green Hills C++ Optimizing Compilers and C++ run-time libraries, however, provide the industry's first thread-safe exception handling for the VxWorks real-time operating system. The Green Hills C++/EC++ for VxWorks solution allocates and manipulates the exception handling structures on a per-thread basis, enabling programmers to take full advantage of this capability when needed.

"Both Embedded C++ and our Thread-Safe Exception Handling give the VxWorks/Tornado developer new tools for building embedded systems applications," comments John Carbone, Green Hills VP of Marketing. Carbone continues, "Our full ANSI C++ compliance, with the ability to select the EC++ subset, gives the user tremendous flexibility in developing applications."

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, class browser, and project/version control.

The heart of the MULTI environment is a VxWorks-aware source-level debugger that features process- and system-level debug capability. The debugger supports mixed assembly and high-level language (Ada, C, C++, and FORTRAN) formats, includes a language-sensitive expression evaluator, and provides special support for C++/EC++ (such as a Class Browser, object display namespace support and template debug capability) and X-Windows debugging.

Green Hills' C++/EC++ for VxWorks package supports development for most major RISC and CISC CPU families, including the PowerPC, 68k, CPU32, ARM/Thumb, SH, SPARC, MIPS, i960, and x86 architectures and is currently available for Sun SPARC hosts running either SunOS or Solaris 2.5 and 2.6 and PC Windows 95/NT.

© 1996-2012 Green Hills Software Trademark Acknowledgements