Journal Articles

CVu Journal Vol 1, #2 - Dec 1987
Browse in : All > Journals > CVu > 012 (9)

Note: when you create a new publication type, the articles module will automatically use the templates user-display-[publicationtype].xt and user-summary-[publicationtype].xt. If those templates do not exist when you try to preview or display a new article, you'll get this warning :-) Please place your own templates in themes/yourtheme/modules/articles . The templates will get the extension .xt there.

Title: A wander through the C library

Author: Martin Moene

Date: 20 June 2010 08:55:00 +01:00 or Sun, 20 June 2010 08:55:00 +01:00

Summary: How the library is organised, what it will cost you, and what's in it

Body: 

The C source Code library is in its early days at the moment but already there is some interesting material that has been submitted. In this article I will draw your attention to some of the things new in the library that you may like to try out. I do not claim to have any extensive knowledge of any of the programs that I mention below. What we need is for people who have put in the effort to understanding something about specific programs, such as the EMACS editor, to share that knowledge by writing a review for C Vu about it.

Well here goes with some of the things that I think may interest you in the initial library offerings.

Library volume 1 is a good place to start. It's a collection of software tools to aid in the job of writing other C programs. What follows is an annotated form of what the MS-DOS DIR command lists the disk as. The number is the size in bytes of the file.

CCHK C   4356 A bracket & comment checker - very simple 'lint' type program.
FAULTY C 104 A small faulty C program to demonstrate cchk
ABOUT C 3667 A help lookup program
ABOUT DAT 7424 with a database of C function call usage.
CFLOW C 26750 This is a C program structure analyser
CFLOWX C 25084 extended features for cflow.
CFLOWX H 2688 required header for cflow & cflowx
CFLOW DOC 2944 Docs for cflow & cflowx.
XC C 20149 Three variants of the xc C cross referencer
XC1 C 22483 These were once the same program but got here
XC2 C 27095 by different routes!
XC DOC 1536 Docs for xc.
DUMP C 2877 A simple
DUMP2 C 6412 and a more lavish hex dump program.
MEMCLEAN DOC 3712 a program for cleaning memory on a PC.
MEMCLEAN C 6096
SNAP C 2987 takes a memory snapshot for debug purposes.
ZAPLOAD C 13349 A hex loader - see document.
ZAPLOAD DOC 8832
HD C 2439 Hex dump of a file.
HDR C 3305 Displays .exe file header info.
TIMER C 1778 timed execution of a command.
WHAT C 2120 finds and prints module id strings.
HEXBIN C 5721 converts hex dump to binary file.
HEXCNV C 4961 converts hex dump to rom images.


HDR C 3305 Displays .exe file header info. TIMER C 1778 timed execution of a command. WHAT C 2120 finds and prints module id strings. HEXBIN C 5721 converts hex dump to binary file. HEXCNV C 4961 converts hex dump to rom images.

As you can see this is all material of use to any C programmer (if you don't get similar tools with your system anyway). If you are keen on the UNIX system and the sort of software tools available under it the Library disk 6 will be of interest. It contains public domain versions of three important UNIX system utilities. First is a version of the Make program maintainer. Many C compilers come with a 'make' program nowadays but if yours does not or you are just curious about how make works then this will be useful.

Also on the disk is a version of the UNIX 'AWK' pattern matching language called BAWK. The AWK language has been called a '4th generation language' and is very good at jobs involving complex text manipulations. The third major program on disk 6 is a version of the UNIX 'stream editor' sed. In some respects this program is similar to BAWK. Its use is for non- interactive editing tasks. The program comes with a useful example 'sed script' for converting a Pascal source file into C. Disk 6 also contains several other minor UNIX style utilities and is certainly well deserving of further comment in future issues of C Vu!

Library volume 8 is another area of interest to people interested in UNIX. It contains not one but two attempts to provide a UNIX like 'shell' under MS-DOS. Each of these is a lot of source code for common UNIX style utilities. Sadly neither 'shell' can cope with multi tasking background processes but otherwise both give a 'feel' of a real UNIX shell. The programs seem to be quite MS-DOS specific but may be adaptable to other machines - why not give it a try!

Library volume 11 deals with the twin subjects of serial communications & library management. It contains several comms protocols (kermit & SEAlink) and several library managers including ARC, LUMP and SQUEEZE.

SEALINK C   20716 The SEAlink comms protocol functions
ARCSRC <DIR>
Source for the ARC archiver
LAR C 16963 LU format library manager
LUMP C 1680 LUMPS several files into 1
UNLUMP C 2017 Undoes the effect of lump
SQ C 22142 Squeezes (compresses) files
TYPESQ C 6281 Types a squeezed file
USQ C 6785 Unsquezes a file
LDIR C 10792 Gives a directory of a .LBR library
LDIR DOC 325
LTYPE C 3809 Types a member of a .LBR library
BSPLIT C 3607 Splits one big file into many small ones
BCOMBINE C 2813 Combines many small files into one big one
PC_COM ASM 14464 Low lev support for IBM PC serial comms
CASYNC ASM 10544 Low lev support for IBM PC serial comms
IBMTTY C 16691 Terminal program for IBM PC
COMM MNU 640
CRC C 6374 Functions for CRC calculation.
KERMITPC C 31882 Kermit program for IBM PC
KERMITPC HLP 4864


Last in our short tour through the library is volume 14 This volume contains sources of the UNIX Dungeons & Dragons game of Larn. Files are supplied SQUEEZED to fit onto the volume and the source of squeeze & unsqueeze is provided. This really is a jam packed volume, the Larn game should work under UNIX systems and also MS-DOS. There should be few problems in getting it to work on other machines though. One word of warning - it needs lots of memory to run!

Contents of CUG Library volume 14

SQ C   22142 Squeeze program that prepared these squeezed files
USQ C 6756 Program needed to UNSQUEEZE the larn files
README
741 Instructions for getting larn off the disk
UNPACK BAT 421 Batch file for unsqueezing all larn sources
LARN LQK 385 Instructions to MS-DOS linker for larn
LTERMCAP LQB 4858 Library needed for DOS larn version


The following are the larn source files:

BILL CQ   4199 CONFIG CQ   1585 CREATE CQ   9828
DATA CQ 19305 DIAG CQ 7583 DISPLAY CQ 8991
FORTUNE CQ 1608 GLOBAL CQ 11575 HEADER HQ 9352
HELP CQ 1763 IO CQ 16016 IO IQ 9460
MAIN CQ 18133 MAIN IQ 10321 MONSTER CQ 29332
MOREOBJ CQ 6411 MOVEM CQ 7529 NAP CQ 2060
OBJECT CQ 18384 PWD HQ 1168 REGEN CQ 2783
SAVELEV CQ 1373 SCORES CQ 14987 SEX LQ 329
SGTTY HQ 1880 SIGNAL CQ 3872 STORE CQ 15053
TOK CQ 4013





Notes: 

More fields may be available via dynamicdata ..