************************* MASTER CODE ***************************************

The name of the first file in this disk's directory identifies the volume,
issue number and revision of the disk. The format of this filename is:

    !CDmvvii.rrr

where

    ! = the '!' character
    m =   C for C Users Journal, W for Windows/DOS Developer's Journal
    vv =  volume
    ii =  issue
    rrr = revision (001 for initial release, 002 for next update, etc.)

The file UPDATE.DOC contains information about any additions or
corrections to material on the disk since the original magazine
publication.

If you have obtained this code from a floppy diskette or from CompuServe, the 
headings under the column "FILENAME" represent the names of .ZIP files.  All 
files listed under the filename are archived in the .ZIP file.

If you have obtained this code from UUNET, the headings under the column 
"FILENAME" represent the names of subdirectories.  All files listed under the
"filename" are included in a subdirectory of that name.

Keywords: C C++ Embedded Locator Fuzzy Optimization Korn

The code listings for the March 1994 issue of The C Users Journal
include source for Odd Olsen's symbolic interface for embedded systems,
Charles B. Allison's EXE locator for embedded systems, Jack McCauley's
fuzzy logic implementation of a torque servo, Randal Kamradt's weight
reduction techniques for C++ programs, and Philip Thomas' Predictor
class for the UNIX Korn Shell.

*************************  FILE DESCRIPTION **********************************

The following files are included in the disk:

FILENAME		AUTHOR-NAME	TITLE			       PAGE
(Zip archive/
subdirectory name)
-------------------------------------------------------------------------------
plauger 		P.J. Plauger	Standard C			10

    new          - listing 1, The header <new>
    new1.cpp	 - listing 2, Defines operator new(size_t)
    delete.cpp   - listing 3, Defines operator delete(void *)
    new2.cpp     - listing 4, Defines operator new(size_t, void *)
    typeinfo     - listing 5, The header <typeinfo>
    
saks 		 	Dan Saks	Stepping Up to C++		87
     
    shape1.h     - listing 1, A class hierarchy with virtual cloning
                              functions that have identical return
                              type
    shape1.cpp   - listing 2, A crude application of the shape
                              hierarchy in listing 1
    polygon.h    - listing 3, Shows functions derived from abstract
                              class polygon
    shape2.h     - listing 4, Shape hierarchy with relaxed return type
                              rules
    fewer.h      - listing 5, Illustrates a derived class whose virtual
                              functions have fewer cv-qualifiers than
                              the functions they override.

olsen			Odd A. R. Olsen	Symbolic Access to Embedded	21
			and		Controllers
			Petter H.
			Heyerdahl

    parsdef.h    - listing 1, Message interpreter definitions and
                              function prototypes
    pars.c       - listing 2, Embedded controller assembler and
                              controller implemented on a PC


allison			Chuck Allison	Code Capsules			101

    sysmac.c     - listing 1, Prints the pre-defined macros
    trace.c      - listing 3, Illustrates the stringizing operator
    trace2.c     - listing 4, Illustrates the token-pasting operator
    assert.h     - listing 5, An implementation of the assert macro
    xassert.c    - listing 6, The _assert support function
    surprise.c   - listing 7, Preprocessed source with a surprise
    preproc.c    - listing 8, Illustrates macro rescanning
    results.txt  - listing 9, Preprocessed results from listing 8
    hello.c      - listing 10, A "Hello, world" program
    thello.c     - listing 11, "Hello, World" using trigraphs
    dhello.c     - listing 12, "Hello, World" with C++ digraphs
    tstr.cpp     - listing 13, Tests a C++ string class

allison2		Charles B.	An Embedded System Program	35
			Allison		Locator

    romldr.c     - listing 1, The EXE locator program
    demo.c       - listing 2, Sample program that produces segment
                              classes
    demo.map     - listing 3, Map file for sample program
    startup.asm  - listing 4, An example of startup code
    
    
mccauley		Jack J.		A Fuzzy-Logic Torque Servo	47
			McCauley

    fuzzy.h      - listing 1, Declarations for rule table and member-
                              ship functions

    fuzzy.c      - listing 2, Fuzzy torque control program

pugh			Kenneth Pugh	Q&A				65

    rttype1.cpp   - listing 1, One way to do run-time type checking
    rttype2.cpp   - listing 2, Demonstrates how virtual functions
                               simplify run-time type checking
    
kamradt			Randy Kamradt	Weight Reduction Techniques	70
					in C++

    mempool.h    - listing 1, Defines class MemoryPool
    mempool.cpp  - listing 2, Memory pool member functions
    link.h       - listing 3, Defines a linked list for the memory pool
    manage.h     - figure 1, Illustrates good and bad memory management
                             practices
    profile.txt  - figure 2, Illustrates use of profiler to find hidden
                             problems
    inline.h     - figure 3, Illustrates inlining of virtual functions
    inline2.h    - figure 4, Illustrates efficient inlining
    pcount.h     - figure 5, Illustrates pointer counting
    cpyonwrt.h   - figure 6, Illustrates copy on write
    smartptr.h   - figure 7, Implements smart pointers
    empty.h      - figure 8, Illustrates use of a special case for an
                             empty list
    delay.h      - figure 9, Illustrates delayed creation of an object
                             via restricted access
    lowlev.txt   - figure 10, Illustrates use of low-level C strings to
                             improve efficiency    

thomas			Philip Thomas 	Enhancing the UNIX	83
			Shmuel 		Korn Shell Using
			Rotenstreich	Predictor Techniques

    predict.cpp  - listing 1, Definition of the predictor class



letters			Letters to 	We Have Mail		118
			Editor
			
    allocdma.c   - listing 2, Attempts to allocate a real-mode DMA
                   buffer

******************************************************************************

If you have questions regarding to the disk, please call or write us.

-----------------------------------------------------------------------------
                           R&D Publications, Inc.
                        1601 W. 23rd St. Suite 200
                            Lawrence, KS 66046
                              (913) 841-1631
-----------------------------------------------------------------------------

