1991 17.08 1993

Vol.17 n°8 (#191) august 1992

(ddj_1992_08.jpg)

p.6 EDITORIAL

[author : Jonathan Erickson] #Edito

TABLE OF CONTENTS

FEATURES

p.16 LARGE CHARACTER SETS FOR C

[author : P.J. Plauger]

The internationalization of C is underway and it's imperative that all programmers understand the issues surrounding localized, language-specific characters, particularly when it comes to wide characters and multibyte extensions as implemented in large character sets.

p.26 NUMERICAL EXTENSIONS TO C

[author : Robert Jervis]

Can C ever hope to compete with Fortran when it comes to numeric programming? The Numerical C Extensions Group, a subcommittee working under ANSI auspices, thinks so, and it may be laying the foundation for the next version of the C standard.

p.40 MULTIPLE-PRECISION ARITHMETIC IN C

[author : Burton S. Kaliski, Jr.]

Adding and subtracting 8- or 16-bit numbers used to be enough. But where do you start if you want to add, subtract, multiply, or divide 64-, 128-, or 512-bit numbers—particularly when using a language like C that currently only supports 32-bits.

p.50 PERSONAL SUPERCOMPUTING: VIRTUAL MEMORY, 64-BIT

[author : Ian Hirschsohn]

Ian concludes his three-part series by discussing how virtual memory was implemented in PORT. Virtual memory lets you run programs that are larger than available RAM and call massive programs from within one another.

p.64 INSIDE THE WINDOWS SCHEDULER

[author : Matt Pietrek]

One of the fundamental "black boxes" in the Microsoft Windows API is the scheduler. Matt examines how its implemented and how it interacts with the rest of Windows. In doing so, he looks at Windows internal data structures such as the task database, module table, and message queue.

EMBEDDED SYSTEMS

p.72 MOVING FROM ASSEMBLY TO C

[author : Beth Mazur]

Beth makes the case that C is increasingly becoming the language of choice for many embedded systems projects because it is more maintainable and portable—and just as efficient—as assembly language.

NETWORKED SYSTEMS

p.86 HIGH-SPEED NETWORKING

[author : William Frederick Jolitz]

Even though network systems with data transfer rates in the gigabits-per-second range are just around the corner, today's software architectures won't necessarily scale well to higher rates. Bill examines the problems and promise of high-speed networking, focusing on header prediction and forward-error correction.

EXAMINING ROOM

p.94 COMPILER-SPECIFIC C EXTENSIONS

[author : Al Stevens]

Borland's C++ compiler provides C extensions to support DOS systems programming, that branch of programming that includes device drivers, memory-resident programs, and other low-level activities. Al presents a TSR driver that swaps the memory of the interrupted program for the TSR's application's image, executes the TSR application, and swaps the original program back in.

PROGRAMMER'S WORKBENCH

p.110 PARALLEL C EXTENSIONS

[author : Barr E. Bauer]

A parallelized program is a serial program with regions of parallel execution. On entering a parallel region, the serial program transforms from a single process to multiple processes, each running one of the parallel execution threads. Barr uses Silicon Graphics' IRIS Power C compiler and its parallel extensions to investigate these concepts.

COLUMNS

p.129 PROGRAMMING PARADIGMS

[author : Michael Swaine]

Apple decides to get small with the announcement of its "personal digital assistant." But can this foray into the consumer-electronics market succeed? Michael weighs its chances before considering the probability of success of Apple's other spin-offs—Kaleida and Taligent.

p.133 C PROGRAMMING

[author : Al Stevens]

Al puts aside D-Flat development for the moment as he celebrates his fourth anniversary as DDJ's "C Programming" columnist and talks about C++ issues and the possibility of a pen-based D-Flat library.

p.141 STRUCTURED PROGRAMMING

[author : Jeff Duntemann]

Before trying to make sense of how Turbo Vision handles streams (which leads up to a revision in his mortgage calculator program), Jeff reveals that he's changed his mind about software patents, thinking that maybe they're not so bad after all.

p.149 GRAPHICS PROGRAMMING

[author : Michael Abrash]

After adding illumination sources and shading to his X-Sharp 3-D graphics library last month, Michael provides a general-purpose color model so that you can display the gradations of color intensity necessary to render illuminated surfaces properly.

p.157 PROGRAMMER'S BOOKSHELF

[author : Andrew Schulman]

WEB, a programming language Donald Knuth presents in Literate Programming, lets you merge the executable source for a system with its description, thereby making it possible for software "authors" to write code in a way that makes sense to readers.

DEPARTMENTS

p.8 LETTERS

[author : you]

p.176 SWAINE'S FLAMES

[author : Michael Swaine]

PROGRAMMER'S SERVICES

p.170 OF INTEREST

[author : Tami Zemel and Kathleen O'Connor]