August 1995 - C/C++ PROGRAMMING


FEATURES

GENERIC PROGRAMMING AND THE C++ STL

by Dan Zigmond

To illustrate how you can use the C++ Standard Template Library, Dan presents a filter program called "Lexicon" that takes ASCII text and outputs an alphabetized list of all the unique words in that text, ignoring case and punctuation.

STANDARD C: AN UPDATE

by Rex Jaeschke

Rex, chair of the X3J11 committee on ANSI C, reports on recent developments concerning the C language.

A POOLING MEMORY MANAGER FOR C++

by Kirit Saelensminde

While building a high-performance, object-oriented raytracer, Kirit discovered that C++ memory allocation isn't all it should be. Here's his alternative.

IMPLEMENTING BIT VECTORS IN C

by James Blustein

Bit vectors provide an efficient means of implementing arrays of Boolean values. James originally implemented bit vectors to hash document signatures and analyze statistics.

ALPHA BLENDING GRAPHIC IMAGES

by Tim Wittenburg

Alpha blending (sometimes called "image compositing") lets you combine two or more images so smoothly that people can't tell that the resulting image is a composite.

JAVA AND INTERNET PROGRAMMING

by Arthur van Hoff

Java, a language designed for Internet development, is an object-oriented, multithreaded, portable, dynamic language that's similar to C, yet simpler than C++.

JPEG-LIKE IMAGE COMPRESSION, PART 2

by Craig A. Lindley

In this month's installment of his two-part article, Craig describes how the image-compression technique he calls "CAL" differs from JPEG. He then presents the C++ classes on which CAL is built.

THE C++ STANDARD LIBRARY

by Michael J. Vilot

After five years, the ANSI and ISO C++ committees have finally released their first official document. Michael examines the most commonly used components of the proposed C++ Standard Library: iostreams, strings, and some of the containers, iterators, and algorithms included in the STL.

EMBEDDED SYSTEMS

68HC05-BASED SYSTEM DESIGN

by Willard J. Dickerson

From a driver's perspective, antilock brake systems prevent car wheels from locking. From an embedded-system designer's viewpoint, they are complex control applications requiring sensors, software, and microcontrollers such as the Motorola 68HC05B6.

NETWORKED SYSTEMS

IMPLEMENTING DISTRIBUTED OBJECTS

by Ernest N. Prabhakar

Ernest uses NeXT's PDO and Objective-C to implement a simple client-server application that packages a legacy application into an interoperable object and its client.

EXAMINING ROOM

EXAMINING SYMANTEC C++ 7.0

by Ira Rodens

Among other features, this recent incarnation of Symantec C++ sports a visual programming environment, class and hierarchy editors, distributed build tools, and support for templates, exceptions, and run-time type identification. Compiler author Walter Bright adds tips and techniques for optimizing C++ code.

PROGRAMMER'S WORKBENCH

DEVELOPING C++ NLMs

by W. Dale Cave

NetWare Loadable Modules (NLMs) are 32-bit utilities that dynamically link into NetWare. Dale examines the complexity of writing NLMs in C++, then presents DSBROWSE, a utility that lets you view (or "walk") the NetWare Directory Services tree.

COLUMNS

PROGRAMMING PARADIGMS

by Michael Swaine

Michael walks the Cyberdog as he reflects on this year's Apple Worldwide Developer's Conference and Apple's Internet strategy.

C PROGRAMMING

by Al Stevens

GNU C++ from the Free Software Foundation is part of a set of programming tools and utilities available from many online locations and several commercial CD-ROMs. After working with the compiler, Al decides this toolset is hard to beat--if you need a C++ compiler that's freely distributable and royalty-free.

ALGORITHM ALLEY

edited by Bruce Schneier

In this month's column, Peter Pearson presents a fascinating look at how biochemical techniques can be applied to classical computer problems such as combinatorial optimization.

PROGRAMMER'S BOOKSHELF

by Lynne Greer Jolitz

When you get on the net, who can you trust? Lynne examines several new books that address this question: Network Security: Private Communications in a Public World, by Charlie Kaufman, Radia Perlman, and Michael Speciner; E-Mail Security, by Bruce Schneier; Network Security, by Steven Shaffer and Alan Simon; and Network Security: How to Plan for It and Achieve It, by Richard H. Baker.

FORUM

EDITORIAL

by Jonathan Erickson

LETTERS

by you

SWAINE'S FLAMES

by Michael Swaine

PROGRAMMER'S SERVICES

OF INTEREST

by Monica E. Berg


Copyright © 1995, Dr. Dobb's Journal