1997 23.08 1999

Vol.23 n°8 (#288) august 1998

(ddj_1998_08.jpg)

p.6 EDITORIAL

[author : Jonathan Erickson] #Edito

TABLE OF CONTENTS

FEATURES

p.18 C++ INTERFACES

[author : Fred Wild]

Interfaces provide a convenient means of resolving the tension between what a class is and what it can do. Keeping interface and implementation separate in C++ programs keeps designs clean and fosters reuse.

p.26 C++ NOTIFIERS

[author : Dave Pomerantz]

Notifiers, also called "events" or "messages," are used to pass information anonymously between objects. Dave shows how notifiers can work in C++, using a multithreaded application as an example.

p.32 OBJECT SERIALIZATION, C++, AND JAVA

[author : Kevin Haverlock]

Kevin presents a technique for exchanging data between Java and C++ using object serialization over a TCP/IP sockets connection.

p.38 SELF-REGISTERING OBJECTS IN C++

[author : Jim Beveridge]

The "specialty store" Jim presents lets new classes be registered at run time, even if they live in a shared library or DLL. Once registered, these new classes are treated exactly like built-in classes.

p.42 C++ LOCALES

[author : Nathan Myers]

Nathan discusses how the Standard C++ Library supports internationalization and offers tips on using the C++ locale library.

p.46 C PREPROCESSING WITH TCL

[author : Jonathan S. Arney]

CPDQ is a utility that uses Tcl for more-sophisticated preprocessing than CPP. CPDQ's C API makes it easy both to extend the language and embed the interpreter into other applications.

p.50 THE WINDOWS CE BUILD PROCESS

[author : Aspi Havewala]

When you create a unique hardware platform and use Windows CE, you can pick and choose from among available components to build a "custom" version of Windows CE.

EMBEDDED SYSTEMS

p.60 EMBEDDED DEVELOPMENT COMPILERS

[author : Don Hair and Cesar Quiroz]

Don and Cesar examine the differences between native and embedded development systems, and discuss the features of embedded development compilers that make them different from native compilers.

INTERNET PROGRAMMING

p.70 FAST IP ROUTING WITH LC-TRIES

[author : Stefan Nilsson and Gunnar Karlsson]

One of the bottlenecks of the Internet is the address lookup operations performed by routers. Stefan and Gunnar show how to perform the lookups efficiently with a simple data structure—a level-compressed trie.

PROGRAMMER'S TOOLCHEST

p.76 THE ACTIVE EXPRESSIONS LIBRARY

[author : Mauricio de Simone and Gregory V. Wilson]

The Active Expressions library combines the conciseness and checkability of language extensions with the portability and extensibility of a library.

p.82 PLUG-IN COMPONENTS FOR MFC

[author : Stefan Hoenig]

MFC is limited when it comes to encapsulating different window functionality into separate objects. Stefan presents a technique for encapsulating user actions into separate objects that support MFC message maps.

COLUMNS

p.99 PROGRAMMING PARADIGMS

[author : Michael Swaine]

"And the winner is...," says David Patterson, "...David A. Patterson." Michael also looks at Bob Bemer's newest Y2K trick, and reports on Apple's Worldwide Developers' Conference.

p.103 C PROGRAMMING

[author : Al Stevens]

When it rains anniversaries, it pours. Al looks back at his past ten years at the helm of the "C Programming" column.

p.107 JAVA Q&A

[author : Cliff Berg]

Cliff shows how you can use encryption to protect data at its point of origin or destination.

p.111 ALGORITHM ALLEY

[author : Sergei Savchenko]

Efficiently resolving database queries requires you to reconcile the structure of the databases with the structure of queries. Mathematical algorithms known as "automated theorem provers" excel at this type of problem.

p.115 DR. ECCO'S OMNIHEURIST CORNER

[author : Dennis E. Shasha]

Ecco and Liane lace up their L.L. Bean boots and venture into the great outdoors to solve the problem of how many angels can fit on the head of a tent—and still survive.

p.119 PROGRAMMER'S BOOKSHELF

[author : William Stallings]

William looks at a pair of recently released IPv6 books—Christina Huitema's IPv6: The New Internet Protocol, Second Edition, and Stewart Miller's IPv6: The Next Generation Internet Protocol.

FORUM

p.10 LETTERS

[author : you]

p.16 NEWS & VIEWS

[author : the DDJ staff]

p.122 OF INTEREST

[author : Eugene Eric Kim]

p.128 SWAINE'S FLAMES

[author : Michael Swaine]