1993 19.09 1995

Vol.19 n°9 (#219) september 1994

(ddj_1994_09.jpg)

p.6 EDITORIAL

[author : Jonathan Erickson] #Edito

TABLE OF CONTENTS

FEATURES

p.18 THE BMP FILE FORMAT

[author : Marv Luse]

When is a standard file format not a standard file format? When it is the well-known BMP image format. As Marv points out, the BMP format is actually a sheaf of formats bundled under the same name. In this article, he examines BMP's image format incarnations and presents techniques for encapsulating them, using C++.

p.26 K-TREE CONTAINER DATA STRUCTURES

[author : Rodney Bates]

K-trees are container data structures that represent linear sequences of integers, pointers, and the like. Although Rodney initially developed K-trees to deal with the problem of browsing and debugging incomplete programs, they also have a more general applicability.

p.36 EXTENDING REXX WITH C++

[author : Art Sulger]

After writing his OS/2 database routines in C++, Art wanted to use visual development tools to build the UI. Consequently, he extended his C++ classes into REXX-callable external functions.

p.38 INSIDE THE RIFF SPECIFICATION

[author : Hamish Hubbard]

The Resource Interchange File Format (RIFF) specification is a tagged-file specification designed for the storage of various types of multimedia data. Wave Viewer, the program Hamish presents here, reads and writes RIFF files which contain waveform data.

p.46 MEDIAN-CUT COLOR QUANTIZATION

[author : Anton Kruger]

Mapping a continuous variable to a discrete set of values is called quantization, a concept Anton applies to the problem of how you go about mapping a true-color image to 256 colors.

EMBEDDED SYSTEMS

p.56 EPROM EMULATION

[author : David Mockridge]

David discusses the software and hardware that make up an EPROM emulator, then presents a program for downloading code to an EPROM via a PC's parallel port.

NETWORKED SYSTEMS

p.64 A PRINT FILTER FOR UNIX

[author : Michael A. Covington and Mark Juric]

In this article, our authors present lj4m, a UNIX print filter that enhances the power of the versatile Hewlett Packard LaserJet 4M printer.

EXAMINING ROOM

p.70 EXAMINING OS/2 2.1 EXECUTABLE FILE FORMATS

[author : John Rodley]

The updated version of SHOWEXE.C that John presents here makes it possible for you to analyze 32-bit, flat-memory-model, LX-style executables.

PROGRAMMER'S WORKBENCH

p.76 IMAGE ACQUISITION USING TWAIN

[author : Craig A. Lindley]

The TWAIN software specification provides a uniform interface between graphics-supporting software and image-capturing hardware. Craig presents a C++ class, implemented as a Windows DLL, which can be used to add image acquisition to any Windows application.

COLUMNS

p.103 PROGRAMMING PARADIGMS

[author : Michael Swaine]

The PowerPCis Michael's focus this month, as he hears what Tom Pittman has to say about it, and reports on what Jeff Duntemann and Tom Thompson have written about it.

p.107 C PROGRAMMING

[author : Al Stevens]

The ANSI/ISO X3J16 committee's standard definition for C++ includes extensions to the language. Al discusses exception handling, one of the main new features.

p.119 ALGORITHM ALLEY

[author : Bruce Schneier]

Complexity theory provides a methodology for analyzing the computational complexity of different programming algorithms. Using complexity theory, you can compare the efficiency of different algorithms, and determine which is faster.

p.123 UNDOCUMENTED CORNER

[author : Andrew Schulman]

Taku Okazaki unravels the undocumented Windows interface which the V86 MMGR uses to take over the page tables belonging to a 386 expanded-memory manager.

p.129 PROGRAMMER'S BOOKSHELF

[author : Walter Oney]

Walter takes a close look at the recently published Writing Windows Virtual Device Drivers.

FORUM

p.10 LETTERS

[author : you]

p.136 SWAINE'S FLAMES

[author : Michael Swaine]

PROGRAMMER'S SERVICES

p.134 OF INTEREST

[author : Monica E. Berg]