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

📄 config.gen

📁 一款拥有一定历史的C语言编译器
💻 GEN
字号:
/* *		c o n f i g . h * *	You will need to edit this file to set up the options that *	you want when building your version of c68/c386.  Most of *	the choices are obvious from the comments, and in the more *	obscure cases detailed guidance is given. * *	In principle those options that you do not want activated *	are changed to comments by inserting the 'start comment' *	symbol at the start of the line - and removing it to activate *	an option. */#ifndef _CONFIG_H#define	_CONFIG_H/* *	GENERAL OPTIONS *	~~~~~~~~~~~~~~~ *//* *	Set the following options to suit your system/requirements */#define ERRORLEVEL_DEFAULT 0	/* Default error level			     */#define	WARNLEVEL_DEFAULT 3	/* Default warning level		     */#undef ASM                     /* ASM statement support                     */#undef DEBUG                   /* Include internal debug code               */#undef	DEBUGOPT		/* Include -g command line option	     */#undef	ENVVAR			/* Compiler options in environment variable  */				/* requires the getopt() call		     */#undef	EXTENSION		/* Include proposed extensions to ANSI C     */#undef	FACIST			/* Allow 'facist' checking of code	     */#define	FLOAT_CHECK		/* Support warning for FP operations	     */#undef	FORMAT_CHECK		/* Check fprintf and fscanf format strings   */#undef	HAS_NLS			/* System supports message catalogues	     */#define	HAS_STDARG		/* System supports stdarg.h		     */#undef  LIST                    /* Output symbol tables                      */#define	PACKENUM		/* Allow enumerations to be any integer type */#undef  PROBES                  /* Support stack probes                      */#define	SEQUENCE		/* Check sequence points		     */#undef SIGNAL                  /* Catch internal signal to exit graceful    */				/* requires the signal() call		     */#undef STACK_CHECK             /* Library routine to check stack size       */#define	TOPSPEED		/* Enable Topspeed compiler extensions	     */#undef TRANSLATE               /* Include output names translation option   *//* *	These options tend not to be changed except when developing */#undef VERBOSE                 /* Support verbose mode */#undef ICODE                   /* Support icode analysis code *//* *	This option is still experimental and under development, so it *	should not normally be activated. */#undef TRACE                   /* Calls for trace/debugger support */#undef EXTERNAL                /* Lists external definitions *//* *	FLOATING POINT OPTIONS *	====================== *//* *	This option is used to allow a version of c68/c386 to be built *	that does not have built in floating point support, but allows *	the float and double keywords to be recognised at the syntax *	checking stage.  This is quite likely to be required to avoid *	compilation errors if header files which use these keywords are *	included by programs. */#define	FLOAT_KEYWORDS		/* Floating point keywords recognised *//* *	The following are used to determine what type of floating point *	support is required (the MFFP option only applies to c68). *	If neither option is defined, then the generated compiler is *	not capable of handling floating point. */#undef  FLOAT_IEEE              /* Treat FP numbers as IEEE */#undef	FLOAT_MFFP		/* Treat FP numbers as MFFP *//*	This option is only used while bootstrapping a floating point compiler. *	It provides just enough floating point support to continue working *	towards the a version that has full floating point support.   At the *	end of the bootstrap process you unset this option and build the *	final version of c68/c386 which has full floating point support. */#undef	FLOAT_BOOTSTRAP		/* Bootstrapping floating point version *//* *	PROCESSOR Selection *	~~~~~~~~~~~~~~~~~~~ * * These options determine which code generators will be built into the * compiler. */#undef MC68K                 /* Motorola 68000 compiler */#define	INTEL_86		/* Intel 8086 compiler */#undef INTEL_386               /* Intel 80386 compiler */#undef ARM                     /* ARM compiler */#undef TMS320C30               /* TI TMS320C30 compiler *//* * Only one of the options below must be defined (and is only relevant * if more than one processor type has been selected). */#undef MC68000_DEFAULT         /* Default processor is MC68000 */#define INTEL_86_DEFAULT        /* Default processor is Intel 8086 */#undef	INTEL_386_DEFAULT	/* Default processor is Intel 80386 */#undef	ARM_DEFAULT		/* Default processor is ARM */#undef	TMS320C30_DEFAULT	/* Default processor is TI TMS320C30 *//* *	Assembler Selection *	~~~~~~~~~~~~~~~~~~~ * * These options determine which assembler syntax are supported by the * compiler - this may be dependent on the code generators selected. */#undef  TARGET_ACK              /* Assembler is ACK     Motorola */#undef  TARGET_CPM              /* Assembler is DRI     Motorola */#undef  TARGET_QMAC             /* Assembler is QMAC    Motorola */#undef  TARGET_GAS              /* Assembler is GAS     Motorola/Intel */#undef  TARGET_SUN              /* Assembler is Sun     Intel */#define TARGET_BAS              /* Assembler is BCC     Intel */#undef  TARGET_SYSV             /* Assembler is SVR4.0  Intel */#undef  TARGET_MASM             /* Assembler is Microsoft Intel */#undef  TARGET_OBJ              /* Assembler is ObjAsm  ARM */#undef  TARGET_ROSSIN           /* Assembler is Rossin? */#undef  TARGET_ACK_DEFAULT      /* Default Assembler is ACK     Motorola */#undef	TARGET_CPM_DEFAULT	/* Default Assembler is DRI 	Motorola */#undef	TARGET_QMAC_DEFAULT	/* Default Assembler is QMAC 	Motorola */#undef	TARGET_GAS_DEFAULT	/* Default Assembler is GAS 	Motorola/Intel */#undef	TARGET_SUN_DEFAULT	/* Default Assembler is Sun 	Intel */#define TARGET_BAS_DEFAULT      /* Default Assembler is BCC     Intel */#undef	TARGET_SYSV_DEFAULT	/* Default Assembler is SVR4.0	Intel */#undef	TARGET_MASM_DEFAULT	/* Default Assembler is Microsoft Intel */#undef	TARGET_OBJ_DEFAULT	/* Default Assembler is ObjAsm	ARM */#undef	TARGET_ROSSIN_DEFAULT	/* Default Assembler is Rossin *//* *	COMPILATION SYSTEM *	~~~~~~~~~~~~~~~~~~ *	The following definition is used to work around a bug in the *	ACK assembler issued with MINIX 1.5 and earlier.  If your version *	of ACK has this bug fixed, then in some cases slightly more *	efficient code is generated if you comment out this option */#undef	MOVEMBUG		/* Assembler has problems in MOVEM (Motorola)*/#undef	CMP_BUG			/* Assembler has problems in CMP (Motorola)*/#undef	RELOC_BUG		/* Assembler has problems with Label1-Label2 *//* *	PORTING DEFINTIONS *	~~~~~~~~~~~~~~~~~~~ *	The defines in this section will only need changing if you are *	trying to build c68/c386 with a compiler that does not support *	all the facilities of c68/c386.  It is likely that you may still *	have to make some changes to the code, but these changing these *	#defines appropriately will help keep it to a minimum. */#undef	void			/* Set active if 'void' not supported */#define VOIDSTAR void *		/* Set to char * if 'void' not supported */#define VOIDCAST (void)		/* Set to space if 'void' not supported *//* *	Many K&R compiler have assumed that the result of the sizeof operator *	is an int.  However ANSI assumes that the result is the type size_t. *	Ensure that the setting is compatible with the value defined in your *	library and header files. */#define	STP_SIZE	stp_uint /* size_t type; either stp_uint or stp_ulong *//* *	Many K&R compilers have assumed that the result of the pointer *	difference operation is an int.  However ANSI assumes that the *	result is the type ptrdiff_t.  Ensure that the setting is compatible *	with the value defined in your library and header files. *	 NOTE: This must be a signed value. */#define	STP_PTRDIFF	stp_int	/* ptrdiff_t type; either stp_int or stp_long *//* *	The type of a wide character is implementation defined and has an *	integral type. */#define       STP_WIDE        stp_char/*#define STP_WIDE        stp_long*//* *	The compiler does its own memory allocation.  AL_HOST should be *	set to the worst case alignment requirements of the host system. *	(Must be a power of 2.) *	If left unset then the compiler will make a "best guess" at the *	alignment requirements. */#define AL_HOST         ((SIZE) 2)      /* Align memory on AL_HOST bytes *//* *	If the host compiler doesn't support bitfields then define this *	definition to do nothing. *	This allows structures within the compiler to take less space at *	the cost of extra run-time code. *//*#define COLON(x)	: x*/#define COLON(x)/* *	If your compiler requires all files to contain at least one *	declaration then define the following item.   This will declare *	a dummy static item in all files. *//*#define	NO_EMPTY_FILES*/	/* Declare dummy static in all files */#include "check.h"#endif /* _CONFIG_H */

⌨️ 快捷键说明

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