DDJ, August 1997 - C/C++ Programming


FEATURES

THE SGI STANDARD TEMPLATE LIBRARY

by Matthew H. Austern

C++ programmers were introduced to generic programming in 1994, when Hewlett-Packard released the Standard Template Library (STL), which was subsequently adopted as part of the C++ Standard Library. Late last year, Silicon Graphics released a new version of the STL. Matt, along with Alexander Stepanov and Hans Boehm, was one of its coauthors.

THE EMPTY MEMBER C++ OPTIMIZATION

by Nathan Myers

The STL is flexible, but does it use too much memory? Nathan shows how the STL-and you-can use empty subobjects without bloating your data requirements.

C++ INTERFACES FOR C-LANGUAGE LIBRARIES

by Larry E. Baker, Jr.

C++ programmers must sometimes use legacy C support libraries, even though C and C++ styles don't always mix. Larry presents a C++ template wrapper that takes a C
hash-table library into the world of C++.

DYNAMIC DESIGN PATTERNS IN OBJECTIVE-C

by William Grosso

Language choice can affect the design patterns you use and how your applications are structured. William examines patterns sometimes used with Objective-C, but not commonly used (or used differently) with C++.

THE JAVA NATIVE METHOD INTERFACE AND WINDOWS

by Andrew Wilson

The JDK 1.1 implements a native calling convention-the Java Native Method Interface (JNI)-that makes it possible to do more than just convert types between Java and C++.

INSIDE THE PENTIUM II MATH BUG

by Robert R. Collins

Two days before Intel's biggest processor announcement in years, a math bug in the Pentium Pro and Pentium II came to light. Robert takes you inside the Dan-0411 "flag erratum," and tells how the story unfolded.


EMBEDDED SYSTEMS

RETARGETABLE CONCURRENT SMALL C

by Andy Yuen

Andy extends Concurrent Small C (presented last year at this time) by building a version called "Retargetable CSC" (RCSC) that is retargetable, with this port targeting the 8051 microcontroller.


INTERNET PROGRAMMING

WRITING ACTIVEX ISAPI EXTENSIONS

by Al Williams

The traditional approach to creating active web pages is to write CGI programs that accept input (from a form or URL) and send output to web browsers. If you use Microsoft's Internet Information Server (IIS), you can use an ISAPI DLL. Al mixes C++ and Visual Basic to create an ISAPI module that lets you write ActiveX ISAPI extensions.


PROGRAMMER'S TOOLCHEST

ADVANCED OBJECT-ORIENTED FEATURES FOR C/C++

by Blake McBride

Dynace, the development tool Blake presents here, adds to C or C++ object-oriented capabilities previously available only in languages such as Smalltalk and CLOS-but without the overhead normally associated with those environments.

CONCURRENT DATABASE COMMANDS AND C++

by Harold R. Kasperink and John C. Dekker

Mapping design problems to programming problems leads to software solutions that are easy to extend and reuse. Our authors explain how they resolved multithreaded porting problems using design patterns. The database they use is Oracle and the database transactions are implemented using Oracle ProC as an embedded database command language.


COLUMNS

PROGRAMMING PARADIGMS

by Michael Swaine

Irony is music to Michael's ears in this month's column.

C PROGRAMMING

by Al Stevens

Al reports on his sojourn to Jim McCarthy's TeamworX BootCamp, a one-week workshop about "how to deliver great software on time every time."

JAVA Q&A

by Clif Berg

Signed Java applets provide a means of verifying the authenticity of a program. Cliff describes how to create them using JAR Files.

ALGORITHM ALLEY

by Jonathan Pincus and Jerry Schwarz

Sometimes, traditional sorting is overkill-you only need to rearrange things to satisfy a few conditions. Our authors show how topological sorting does only as much as you need.

UNDOCUMENTED CORNER

by George Shepherd and Scot Wingo

George and Scot continue their examination of Microsoft's Active Template Library, this month looking at the heart of ATL, including its support for multithreading and its various implementations of IUnknown.

PROGRAMMER'S BOOKSHELF

by Michael E. Fitzpatrick and Laurence Vanhelsuwe'

Michael Fitzpatrick examines Dynamics of Software Development, by Jim McCarthy, while Laurence Vanhelsuwe' looks at The Unicode Standard, Version 2.0.


Forum

EDITORIAL

by Jonathan Erickson

LETTERS

by you

NEWS & VIEWS

by the DDJ staff

OF INTEREST

by Eugene Eric Kim

SWAINE'S FLAMES

by Michael Swaine


Copyright © 1997, Dr. Dobb's Journal