README
上传用户:zslianheng
上传日期:2013-04-03
资源大小:946k
文件大小:4k
- Tue Aug 20 16:19:51 CDT 1996
- Andy Fingerhut (jaf@arl.wustl.edu)
- In release 1.4, there are quite a few hand modifications to the C code
- that was automatically created from the Fortran code with f2c. They
- are all summarized in change log comments at the beginning of the
- changed files. All of the original files from f2c were checked in to
- RCS before modification, so it is possible to see exactly what changes
- were made, for the extremely curious. That precaution was also for my
- benefit, in case I ever recompile the Fortran sources, and want to
- make similar changes to that new C source code.
- Below is the README file for this directory included with the 1.3
- release of the LPC-10 package. A few parts of it are a little out of
- date, but it is correct for the most part.
- Sun Jul 7 15:30:31 CDT 1996
- Andy Fingerhut (jaf@arl.wustl.edu)
- To create the LPC-10 library, copy the appropriate makefile to the
- proper name for easy use, e.g., for Unix, copy makefile.unx to the
- file "Makefile". The file makefile.dos has been used with some
- version of the 'nmake' utility that comes with the Microsoft C
- compiler (the same one used for Nautilus v1.5a, which I believe
- specifies Microsoft C version 7.0 or later).
- Then edit the file lpc10.h in the directory above. It should already
- be set up to work properly on any Unix compiler for which "int" is 32
- bits and "short" is 16 bits, and under the Microsoft C compiler
- configured so that "long" is 32 bits and "int" is 16 bits. There must
- be a typedef for the two types INT32 and INT16 in that file. You
- should choose types that compile to those sizes using your compiler,
- because there are places in the LPC-10 code that expect INT16's to
- have exactly 16 bits (at least, I *think* they must be no larger), and
- INT32's to have exactly 32 bits.
- A few notes on how these files were created
- -------------------------------------------
- (This section is mostly for my benefit, so I can remember what I did.
- You don't need to read it if you just want to use this package. It
- might be useful to read it if you change the Fortran sources and want
- to recreate a usable library of C sources. -- Andy)
- These C sources were created automatically from the Fortran sources
- using f2c, for the most part. Listed below are the extra
- modifications that were made after this automatic conversion. Many of
- them were made so that it was not necessary to install f2c in order to
- use this LPC-10 coder.
- 1.
- Put all of those files that were necessary for only the coder, rather
- than an application that uses the coder, into this subdirectory called
- lpc10.
- 2.
- Copied f2c.h from the f2c distribution into this subdirectory. Some
- modifications were made to the "typedef" statements in this file, to
- explicitly indicate the sizes (in bits) that different integer types
- should be. The types INT32 and INT16 must be defined in a file called
- lpc10.h in the directory above. Created the file f2clib.c, containing
- only the functions pow_ii(), r_sign(), and i_nint() from the f2c
- library.
- 3.
- The f2c output originally had a file called contrl_com.c, that defined
- a small structure containing a few variables that were used in many
- different functions of the LPC10 code. Every file containing
- functions that used it defined it as "extern", while contrl_com.c
- actually allocated storage for the structure. Bill Dorsey, one of the
- lead developers of Nautilus, said that the Microsoft C compiler had
- problems either compiling this file, or linking it with all of the
- other compiled files, so he just eliminated that file and removed the
- "extern" keyword from the one of the files that declared it that way.
- The file chosen (arbitrarily) was analys.c.
- 4.
- Copied the makefiles for Unix and Microsoft C from the Nautilus v1.5a
- distribution into the lpc10 directory. Modified them to take out
- references to Nautilus. These makefiles don't create an executable,
- but a library of compiled functions called liblpc10.a (Unix) or
- LPC10.LIB (DOS). This library can be used when linking an executable
- that calls the functions lpcini_(), lpcenc_(), and lpcdec_().