⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 compiler.h

📁 一个C语言写的读入位置跟踪器数据的源程序
💻 H
字号:
/*
    compiler.h     - Compiler Specific Header

    Modification History
	4/5/91   jf - created
	4/23/91  jf - added K&R variant
	12/17/91 jf - added UNIX_POSIX for Silicon Graphics IRIX platforms
		  which use termio.h for ioctl calls
	12/29/92 jf - moved all ifdefs and defines to column 1 for
		  compiler compatibility
	     jf - added SUNOS ifdefs
    1/6/93   jf - update AIX for TERMIO compitibility
	     jf - modified syntax for POSIX to TERMIO for clarity
    1/8/93   jf - modified Coherent to use the TERMIO approach
    1/27/93  jf - added SETTEXTPOS macro..UNIX platforms will have
		  to fill in the Macro with the proper cursor commands
    10/19/93 jf - added METAWARE HIGHC compiler definitions
    10/20/93 jf - added COMPILER definition

*/

#ifndef COMPILER
#define COMPILER

/*
    Compiler Specific Macros
*/
/*************************************************************************/
#ifdef MSC      /* Microsoft C */

#define DOS     /* Dos OS */

#include <io.h>                    /* for read,write,open */
#include <fcntl.h>
#include <graph.h>                 /* for CLEARSCREEN macro */
#include <dos.h>

#define ENABLE() _enable()
#define DISABLE() _disable()
#define CLEARSCREEN _clearscreen(_GCLEARSCREEN)
#define OUTPORTB outp
#define INPORTB inp
#define GETVECT(intnum) _dos_getvect(intnum)
#define SETVECT(intnum, intserviceroutine) _dos_setvect(intnum, intserviceroutine)
#define SETTEXTPOS(row,col) _settextposition(row,col)
#define INTTYPE void interrupt far

#endif

/*************************************************************************/
#ifdef TC       /* Boland Turbo C/C++ */

#define DOS    /* Dos OS */

#include <conio.h>                 /* for getch,putch,kbhit */
#include <io.h>                    /* for read,write,open */
#include <fcntl.h>
#include <dos.h>

#define ENABLE() enable()
#define DISABLE() disable()
#define CLEARSCREEN clrscr()
#define OUTPORTB outportb           /* should compile to inline assembly */
#define INPORTB inportb             /* should compile to inline assembly */
#define GETVECT(intnum) getvect(intnum)
#define SETVECT(intnum, intserviceroutine) setvect(intnum, intserviceroutine)
#define SETTEXTPOS(row,col) gotoxy(row,col)
#define INTTYPE void interrupt far

#endif

#ifdef HIGHC

#define DOS    /* Dos OS */

#define DPMC   /* Dos Protected Mode Compiler */

#include <conio.h>                 /* for getch,putch,kbhit */
#include <io.h>                    /* for read,write,open */
#include <fcntl.h>
#include <graph.h>                 /* for CLEARSCREEN macro */

#include <dos.h>

#define OUTPORTB _outp
#define INPORTB _inp
#define CLEARSCREEN _clearscreen(_GCLEARSCREEN)
#define SETTEXTPOS(row,col) _settextposition(row,col)
#define GETVECT(intnum) _getrvect(intnum)
#define GETPVECT(intnum) _getpvect(intnum)
#define SETVECT(intnum, intserviceroutine) _setrvect(intnum, intserviceroutine)
#define SETPVECT(intnum, intserviceroutine) _setpvect(intnum, intserviceroutine)
#define SETRPVECT(intnum, intserviceroutine) _setrpvectp(intnum, intserviceroutine)
#define ENABLE() _enable()
#define DISABLE() _disable()
#define INTTYPE _Far _INTERRPT void
#define RINTTYPE _real_int_handler_t

#endif


/*************************************************************************/
#ifdef KNR      /* Standard C Compilers */

#define CLEARSCREEN clearconsole()

#define SETTEXTPOS(row,col) printf("\n\n\r")

 /*
	IBM PC/Compatible - Mark Williams COHERENT version 4.0
 */
#ifdef COHERENT
#define UNIX                      /* UNIX type OS */
#define UNIX_SGTTY                /* TTY IOCTL Calls use SGTTY.h */
#include <v7sgtty.h>              /* needed for TIOCQUERY and TIOCFLUSH */
#include <fcntl.h>
#define TIONREAD TIOCQUERY        /* re map the IOCTL function */
#define BAUDRATE_115200 -1
#define BAUDRATE_57600  -1
#define BAUDRATE_38400  B38400
#endif

 /*
	IBM RISC 6000 - AIX Release 3.2 
 */
#ifdef AIX
#define UNIX                      /* UNIX type OS */
#define UNIX_TERMIO               /* TTY IOCTL Calls use TERMIO.h */
#include <fcntl.h>
#define TIONREAD FIONREAD         /* re map the IOCTL function */
#define BAUDRATE_115200 -1
#define BAUDRATE_57600  -1
#define BAUDRATE_38400  B38400
#endif

 /*
	DEC ULTRIX
 */
#ifdef ULTRIX
#define UNIX                      /* UNIX type OS */
#define UNIX_TERMIO               /* TTY IOCTL Calls use TERMIO.h */
#define TIONREAD FIONREAD         /* re map the IOCTL function */
#define B19200 EXTA               /* EXTA = 19200 baud */
#define BAUDRATE_115200 -1
#define BAUDRATE_57600  -1
#define BAUDRATE_38400  -1
#endif

 /*
	SGI - IRIX Release 4.0 System V.3
 */
#ifdef IRIX
#define UNIX                      /* UNIX type OS */
#define UNIX_TERMIO               /* UNIX-TERMIO type OS */
#include<sys/ioctl.h>
#include<sys/fcntl.h>
#define TIONREAD FIONREAD         /* re map the IOCTL function */
#define BAUDRATE_115200 -1
#define BAUDRATE_57600  -1
#define BAUDRATE_38400  B38400
#endif
 
 /*
	SUN - SUNOS Release 4.1 
 */
#ifdef SUNOS
#define UNIX                      /* UNIX type OS */
#define UNIX_TERMIO               /* UNIX-TERMIO type OS */
#include<sys/filio.h>             /* for FIONREAD */
#include<sys/ttold.h>             /* for TIOCFLUSH */
#include<sys/fcntlcom.h>
#include<fcntl.h>                  
#define TIONREAD FIONREAD         /* re map the IOCTL function */
#define BAUDRATE_115200 -1
#define BAUDRATE_57600  -1
#define BAUDRATE_38400  B38400
#endif


 /*
	UNIX OS's
 */
#ifdef UNIX_SGTTY
#include <sgtty.h>                /* for SGTTY ioctl calls */
#endif

#ifdef UNIX_TERMIO
#include <termio.h>               /* for TERMIO ioctl calls */
#endif

#endif

#endif  /* COMPILER */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -