短小精悍的C语言标准函数库。提供450个以上的可移植的算法和工具代码。

源代码在线查看: buildh.cmd

软件大小: 675 K
上传用户: karon9999
关键词: 450 C语言 标准 函数库
下载地址: 免注册下载 普通下载 VIP

相关代码

				/*
				 *  Build script for iMatix SFL Package, for OS/2.
				 *  Requires the iMatix 'c.cmd' script.
				 *
				 *  Generated by Otto v2.2 from buildsfl.txt on 100/04/01, 16:33:28
				 *  For more info see Otto documentation at http://www.imatix.com.
				 *  Bug reports & questions to 
				 *  ---------------------------------------------------------------
				 */
				'@echo off'
				
				/* Configuration options ------------------------------------------ 
				 *
				 * The actual programs use to compile, compile and archive, and 
				 * link programs can be changed by editing the subroutines
				 * CompileToObj, CompileToLib, and LinkProgram, at the bottom of
				 * this script.  REXX doesn't support variable substitution in
				 * the name of the called routine, so they cannot be defined here.
				 */
				
				SAY "Building sfl.h header file..."
				
				/* delete sfl.h */
				'if exist sfl.h del sfl.h >nul'
				
				/* append sflhead.h  sfl.h */
				'type sflhead.h >> sfl.h'
				
				/* append prelude.h  sfl.h */
				'type prelude.h >> sfl.h'
				
				/* append sflvers.h  sfl.h */
				'type sflvers.h >> sfl.h'
				
				/* append sflbits.h  sfl.h */
				'type sflbits.h >> sfl.h'
				
				/* append sflcomp.h  sfl.h */
				'type sflcomp.h >> sfl.h'
				
				/* append sflcons.h  sfl.h */
				'type sflcons.h >> sfl.h'
				
				/* append sflconv.h  sfl.h */
				'type sflconv.h >> sfl.h'
				
				/* append sflcryp.h  sfl.h */
				'type sflcryp.h >> sfl.h'
				
				/* append sfldate.h  sfl.h */
				'type sfldate.h >> sfl.h'
				
				/* append sfldbio.h  sfl.h */
				'type sfldbio.h >> sfl.h'
				
				/* append sflexdr.h  sfl.h */
				'type sflexdr.h >> sfl.h'
				
				/* append sflfind.h  sfl.h */
				'type sflfind.h >> sfl.h'
				
				/* append sflfile.h  sfl.h */
				'type sflfile.h >> sfl.h'
				
				/* append sflfort.h  sfl.h */
				'type sflfort.h >> sfl.h'
				
				/* append sfllang.h  sfl.h */
				'type sfllang.h >> sfl.h'
				
				/* append sfllbuf.h  sfl.h */
				'type sfllbuf.h >> sfl.h'
				
				/* append sfllist.h  sfl.h */
				'type sfllist.h >> sfl.h'
				
				/* append sflmath.h  sfl.h */
				'type sflmath.h >> sfl.h'
				
				/* append sflmail.h  sfl.h */
				'type sflmail.h >> sfl.h'
				
				/* append sflmesg.h  sfl.h */
				'type sflmesg.h >> sfl.h'
				
				/* append sflmem.h   sfl.h */
				'type sflmem.h >> sfl.h'
				
				/* append sflmime.h  sfl.h */
				'type sflmime.h >> sfl.h'
				
				/* append sflnode.h  sfl.h */
				'type sflnode.h >> sfl.h'
				
				/* append sfldir.h   sfl.h */
				'type sfldir.h >> sfl.h'
				
				/* append sflslot.h  sfl.h */
				'type sflslot.h >> sfl.h'
				
				/* append sflstr.h   sfl.h */
				'type sflstr.h >> sfl.h'
				
				/* append sflsock.h  sfl.h */
				'type sflsock.h >> sfl.h'
				
				/* append sflsymb.h  sfl.h */
				'type sflsymb.h >> sfl.h'
				
				/* append sflproc.h  sfl.h */
				'type sflproc.h >> sfl.h'
				
				/* append sflprint.h sfl.h */
				'type sflprint.h >> sfl.h'
				
				/* append sflsyst.h  sfl.h */
				'type sflsyst.h >> sfl.h'
				
				/* append sflhttp.h  sfl.h */
				'type sflhttp.h >> sfl.h'
				
				/* append sflini.h   sfl.h */
				'type sflini.h >> sfl.h'
				
				/* append sflenv.h   sfl.h */
				'type sflenv.h >> sfl.h'
				
				/* append sfltok.h   sfl.h */
				'type sfltok.h >> sfl.h'
				
				/* append sfltree.h  sfl.h */
				'type sfltree.h >> sfl.h'
				
				/* append sfltron.h  sfl.h */
				'type sfltron.h >> sfl.h'
				
				/* append sfluid.h   sfl.h */
				'type sfluid.h >> sfl.h'
				
				/* append sflxml.h   sfl.h */
				'type sflxml.h >> sfl.h'
				
				/* append sflxmll.h  sfl.h */
				'type sflxmll.h >> sfl.h'
				
				exit 0
				/* End script */
				
				/* Utility subroutines ---------------------------------------------------- */
				
				/* AssertFileExists 
				 *
				 * Checks to see if the specified file (argument 1) exists.  If it does the
				 * subroutine returns.  If it doesn't, the subroutine displays an error
				 * message, and exits the whole script.
				 */
				
				AssertFileExists:
				fullpath = stream(ARG(1), 'C', 'QUERY EXISTS')
				IF fullpath = "" THEN
				DO
				  SAY ARG(1) "missing -- aborting"
				  exit 1
				END
				
				return
				
				/* CompileToLib  
				 *
				 * This is a stub routine to sort things out for compiling to a library.
				 * We need to set CCLIBNAME to the name of the library, then call the 
				 * 'c' script, then reset CCLIBNAME.  
				 */
				
				CompileToLib:
				
				PARSE ARG SOURCE LIBRARY
				
				oldenv  = VALUE('CCLIBNAME', LIBRARY, 'OS2ENVIRONMENT')
				CALL c              SOURCE
				CALL c '-r' LIBRARY SOURCE
				LIBRARY = VALUE('CCLIBNAME', oldenv,  'OS2ENVIRONMENT')
				
				return
				
				/* CompileToObj 
				 *
				 * This is a stub routine to sort things out for compiling to an object.
				 * We need to clear CCLIBNAME, then call c script with the "-c" parameter
				 * to indicate compile only, and then reset CCLIBNAME again.
				 */
				
				CompileToObj:
				
				SOURCE = ARG(1)
				
				oldenv  = VALUE('CCLIBNAME', '',      'OS2ENVIRONMENT')
				CALL c '-c' SOURCE
				LIBRARY = VALUE('CCLIBNAME', oldenv,  'OS2ENVIRONMENT')
				
				return
				
				/* LinkProgram 
				 *
				 * This is a stub routine to sort out the things required for linking.
				 * We call the c script with the "-L" parameter to link only.
				 */
				
				LinkProgram:
				
				PROGRAM = ARG(1)
				CALL c '-L' PROGRAM
				
				return
				
				/* End of Utility Subroutines (remaining functionality now in c.cmd) ------ */
							

相关资源