{logo}

June 2004
Volume 22 Number 6

FEATURES

Debugging Real-Time Production Software

Bill Pyritz
Debugging real-time software is hard. Bill presents techniques that make the job easier, more efficient, and more reliable.

Tracing Application Execution

Tomer Abramson
The most common and effective way to debug and get information about applications is to use some form of tracing. Tomer's technique transforms tracing from a "heavy" to "light" operation.

Lint Metrics & ALOA

Ralf Holly
ALOA is a tool that processes PC-lint output and computes metrics that give you an overview of the internal quality of C/C++ projects.

Debugging Standard Containers with GDB

Herman Pijl
Herman uses Standard containers as a tool when debugging with GDB, the GNU debugger.

Fast, Nonintrusive String Concatenation

Matthew Wilson
String concatenation is one way you can improve the performance of your C++ programs.

Using Dynamic Arrays in C

Marco Tabini
Here's an array library that's powerful—and safe.

Thread-Safe Circular Queue

Claudio G. Taglienti
Claudio presents a C++ template implementation of a bounded buffer as a circular queue, then shows how to make the circular queue compatible with STL algorithms.

COLUMNS

The New C++

Herb Sutter
Herb reports on this Spring's C++ Standards Committee meeting in Sydney, Australia.

Generic<Programming>

Andrei Alexandrescu
According to Andrei, what std::vector cannot do well or at all, the legendary yasli::vector does like a champ.

C++ Made Easier

Andrew Koenig and Barbara E. Moo
Andrew and Barbara continue their examination of performance, this time looking at how much specific compiler optimizations (or lack thereof) can affect a program's execution time.

Conversations

Herb Sutter and Jim Hyslop
Are getter, setter, and Bob inherently evil, or are they just a little misunderstood?

DEPARTMENTS

Editor's Forum

New Products