DDJ, August 1997
C/C++ Programming
Additional resources (listings and source code) for
the articles below can be found here.
The SGI Standard Template Library
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
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
Larry E. Baker
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
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
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
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.
Retargetable Concurrent Small C
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.
Writing ActiveX ISAPI Extensions
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.
Advanced Object-Oriented Features for C/C++
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++
John C. Dekker
Harold R. Kasperink
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.
Programming Paradigms
Michael Swaine
Irony is music to Michael's ears in this month's column.
C Programming
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
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
Jerry Schwarz
Jonathan Pincus
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
George Shepherd
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
Michael Fitzpatrick
Laurence Vanhelsuwe
Michael Fitzpatrick examines Dynamics of Software Development, by Jim McCarthy, while Laurence Vanhelsuwe' looks at The Unicode Standard, Version 2.0.
Editorial
Jonathan Erickson
Letters
News & Views
the DDJ staff
Of Interest
Eugene Eric Kim
Swaine's Flames
Michael Swaine