DDJ December 1996 Cross-Platform Development and Portability


FEATURES

DCE PTHREADS VERSUS NT THREADS

by Michael Yam

Michael ports PTF, a C++ class library for DCE pthreads, from HP-UX System 9 to Windows NT. In doing so, he examines the differences between pthreads and NT threads, and describes the porting experience.

INSIDE THE WINHELP() API FUNCTION

by Paul Kissel

Paul shows what's involved in building a platform-independent implementation of the WinHelp() function. He then shares "seven deadly sins" you should avoid when writing portable software.

LUA: AN EXTENSIBLE EMBEDDED LANGUAGE

by Luiz Henrique de Figueiredo, Roberto Ierusalimschy, Waldemar Celes

Lua is a freely-available, general-purpose embedded programming language designed to support procedural programming with data-description facilities. Its code compiles without change in most ANSI C compilers, including gcc (on AIX, IRIX, Linux, Solaris, SunOS, and ULTRIX), Turbo C (on DOS), Visual C++ (on Windows 3.1/95/NT), Think C (MacOS), and CodeWarrior (MacOS).

VIRTUAL AUDIO THROUGH RAY TRACING

by Tom Zudock

By understanding how we hear and the cues we use to identify the relative location of sound, you can process sound that's perceived as "virtual audio." In this article, Tom focuses on how you determine the early reflections of a sound source that reach a listener in a simple room.

MULTITHREADING AND VISUAL BASIC

by Dino Esposito

Although Visual Basic does not support native multithreading, it does support the Windows API. This means you can write VB applications composed of two or more threads. Dino shows you how to create multithreaded applications using both the SDK and Visual Basic.

EMBEDDED SYSTEMS

INSIDE MOTOROLA'S TPU

by Richard Soja

Any number of embedded-control applications require high-resolution timing capabilities. Consequently, devices such as Motorola's Time Processor Unit (TPU) are becoming increasingly common for high-end control processors.

NETWORKED SYSTEMS

EXTENDING HTTP SERVERS WITH DGI AND TGI

by Andrew Montefusco

To reduce CGI-related overhead, Andrew implements two alternative approaches in his HTTPD2 server-Task Gateway Interface (TGI) and Dynamic Gateway Interface (DGI). Both approaches avoid the overhead of starting a new process for each separate request.

PROGRAMMER'S TOOLCHEST

EXAMINING THE WINBATCH TOOLKIT

by Dot Schryver

The WinBatch Toolkit, which provides traditional batch-language file-management capabilities, is based on a structured programming model. Dot tells how Bentley College is using WinBatch to support over 7000 networked users.

WEB PROGRAMMING WITH VISUAL FOXPRO

by George F. Goley IV

Visual FoxPro is a cross-platform, visual tool for database development that includes a number of wizards. Here, George uses the WWW Search Page Wizard to run Visual FoxPro programs across the Internet.

COLUMNS

PROGRAMMING PARADIGMS

by Michael Swaine

The personal computer revolution was more than a Silicon Valley phenomenon.

C PROGRAMMING

by Al Stevens

Al reports on what the experts have to say about delete this;, then presents a generic Undo class library.

JAVA Q&A

by Cliff Berg

Cliff presents a technique for building a drag-and-drop interface using standard AWT components. In doing so, he builds an application that lets end users perform a host-to-host file transfer.

ALGORITHM ALLEY

by Dann Corbit and Rafael Collantes-Bellido

This month, we examine a pair of unrelated algorithms. Dann looks at ways to calculate factorials, while Rafael uses differential equations to produce natural-looking textures.

UNDOCUMENTED CORNER

by George Shepherd and Scot Wingo

George and Scot examine the undocumented areas of CSplitterWnd, one of the most complicated and confusing of all MFC classes.

PROGRAMMER'S BOOKSHELF

by Doug Nickerson

Doug examines a trio of Java books- David Flanagan's Java in a Nutshell, Peter van der Linden's Just Java, and Java Programming Language Handbook, by David H. Friedel, Jr. and Anthony Potts.

FORUM

EDITORIAL

by Jonathan Erickson

LETTERS

by you

NEWS & VIEWS

by the DDJ staff

OF INTEREST

by Eugene Eric Kim

SWAINE'S FLAMES

by Michael Swaine