March 1994 - CROSS PLATFORM DEVELOPMENT


FEATURES

BINARY-DATA PORTABILITY

by José Luu

The DDR compiler José presents here makes it possible for you to create truly portable tools for handling binary-data representations between different environments. This means you can create a single source-code base without having to add elaborate data-translation code.

THE WRAPI TOOLKIT

by Gregory C. Sarafin

WRAPI is a language-independent API that generates language-specific libraries. The host languages it supports include C, Clipper, FoxPro (DOS and Windows), Visual Basic (DOS and Windows), Pascal, Clarion, Fortran, and more.

MULTIPLATFORM .INI FILES

by Joseph J. Graf

Joe's multiplatform implementations of the the Windows GetPrivateProfileString(), GetPrivateProfileInt(), and WritePrivateProfileString() functions support DOS and UNIX, too.

PORTABILITY BY DESIGN

by Michael Ross

Michael lifts the hood on MetaWare's compiler technology, sharing the mapping structures and techniques that make porting the compiler from one platform to another a relatively simple task.

UNICODE AND SOFTWARE GLOBALIZATION

by David Van Camp

Writing code for international markets requires an understanding of the Unicode standard. David examines the standard and discusses how you go about implementing Unicode support.

WRITING NON-SCSI CD-ROM DEVICE DRIVERS

by Sing Li

Compatibility is one of the main reasons why environments such as the Windows NT and OS/2 2.x operating systems support SCSI-based CD-ROM hardware. However, if you want to use non-SCSI CD-ROM drives with them, you'll have to write your own device drivers. This article discusses how you code those drivers for Windows NT.

Thanks to Corinne H. Godon of Neuron Data (Palo Alto, CA) for helping with the systems and software shown on the cover and elsewhere in this issue.

THE ADVANCED SCSI PROGRAMMING INTERFACE

by Brian Sawert

The advanced SCSI programming interface, available for DOS, OS/2, Novell NetWare, and other operating systems, provides a high-level function set that's easy to use because it hides the inner workings of SCSI protocol.

EMBEDDED SYSTEMS

EMULATING NON-DOS SYSTEMS UNDER MS-DOS

by Dan Troy

Dan describes a table-mapping mechanism to handle operating-system functions and their associated parameters. This allowed him to emulate non-DOS systems while running on DOS-based PC development environments.

NETWORKED SYSTEMS

CROSS-PLATFORM DEVELOPMENT WITH VISUAL C++

by Chane Cullens

Although generally thought of as a DOS/Windows development tool, Microsoft's Visual C++ and the Microsoft Foundation Class library can be used for cross-platform development. Chane discusses how you can use them to write portable code, whether you're coding for Windows, UNIX, NT, Macintosh, or whatever.

EXAMINING ROOM

DATABASE DEVELOPMENT AND VISUAL BASIC 3.0

by Ken North

Although Microsoft calls it "Visual Basic 3.0 Professional Edition," you could just as easily refer to the package as "the Visual Basic Database Edition" because of the available database tools and functionality. Ken examines the Visual Basic 3.0 environment and database tools, presenting a multimedia database app in the process.

PROGRAMMER'S WORKBENCH

PORTING FROM DOS TO WINDOWS

by Walter Oney

WinGate's client/server API minimizes your recoding efforts when moving from DOS to Windows. Walter uses the tool to build a simple client/server database application.

COLUMNS

PROGRAMMING PARADIGMS

by Michael Swaine

Last year, Apple introduced the Newton MessagePad, along with a new user-interface model, new development platform, and new object-oriented language. Michael discusses what Newton really is (and isn't), the first Newton Platform Development Conference, and the Newton Toolkit, and speculates on the unique challenges Newton presents.

C PROGRAMMING

by Al Stevens

Al takes a break from the rigors of coding to mull over software patents, electronic books, and the mysteries of placing a long (but not too long) distance phone call in Silicon Valley.

ALGORITHM ALLEY

edited by Tom Swan

Ernie Deel shares a data-compression technique that uses pattern recognition to quickly achieve efficient compression ratios.

UNDOCUMENTED CORNER

edited by Andrew Schulman

Alex Shmidt presents a technique for dynamically loading and unloading VxDs without having to use VXDLDR or a VxD file. This is, in fact, a general technique for calling any 32-bit Ring 0 code from a normal Ring 3 Windows program.

PROGRAMMER'S BOOKSHELF

by Jonathan Erickson

Like it or not, self-help programming and legal books go hand-in-hand. This month, we examine two new legal self-help books, Software Development: A Legal Guide, and The Software Developer's and Marketer's Legal Companion.

FORUM

EDITORIAL

by Jonathan Erickson

LETTERS

by you

SWAINE'S FLAMES

by Michael Swaine

PROGRAMMER'S SERVICES

OF INTEREST

by Monica E. Berg


Copyright © 1994, Dr. Dobb's Journal