If you want gsar to compile under your favourite compiler and under your platform (MSDOS or UNIX) you should read this section... gsar was written using 99.99% ANSI C and compiles without any problems under the following compilers: Turbo C 2.0, Turbo C++ 1.0, Turbo C++ 3.x, Zortech C++ 3.x, Watcom C 386 8.0, Ultrix C, Microsoft 6.0, gcc 1.39, emx-0.8g (OS/2), SPARCompilers 2.0.1 03 Sep 1992 (All trademarks are properties of their respective owners) The compiler used for the development, testing and debugging of gsar was the Zortech C++ compiler version 3.1 Since gsar is written to run both under UNIX and MSDOS I have included #ifdefs for easy portability. In the file gsar.h a simple test is made to see if we're being compiled with an MSDOS compiler and if we're not it's assumed that we're on a UNIX platform. gsar does not make use of any floating point operations. To reduce the size of your executable do not link in any floating point libraries. MSDOS notes. gsar will compile and run in the small model of your compiler. To make gsar as fast as possible the input streams are buffered using setvbuf. However the Zortech compiler sets up stream buffers in it's startup code so setvbuf is not needed. I've done some simple speed tests between the different DOS compilers. In all test cases the Zortech executable is the fastest. This is only noticable on large files, 5MB and upwards. Most MSDOS compilers support the use of wildcards by linking in a special object module. See the section below for details Below is a list of command lines for use with various compilers: - Turbo C ver 2.0 tcc -ms gsar.c gsarbmg.c arg_func.c wildargs.obj - Turbo C++ 1.0 tcc -ms gsar.c gsarbmg.c arg_func.c wildargs.obj - Borland C++ 3.0 bcc -ms gsar.c gsarbmg.c arg_func.c wildargs.obj - Microsoft ver 6.0 cl /AS gsar.c gsarbmg.c arg_func.c setargv.obj /link /NOE - Zortech C++ ver 3.0, wildcards pulled in automatically!, integer library ztc -mis gsar.c gsarbmg.c arg_func.c - Watcom ver 8.0, the /x is for name case sensitivity wcl386 /x gsar.c gsarbmg.c arg_func.c wildargv.c - OS/2 with emx-0.8g (gcc) : Insert "_wildcard(&argc, &argv);" as the first statement in main(), in file gsar.c, compile with gcc -o gsar.exe gsar.c gsarbmg.c arg_func.c - UN?X cc -o gsar gsar.c gsarbmg.c arg_func.c - GCC gcc -o gsar gsar.c gsarbmg.c arg_func.c