Journal Articles
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 ..