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

📄 idel_porting.h

📁 idel虚拟机源码
💻 H
字号:
/* * System-dependent declarations. * Copyright (C) 2001-2002 Darius Bacon * * You might have to change these by hand on a 64-bit system -- * I haven't tried this on one yet.  */#ifndef _IDEL_PORTING#define _IDEL_PORTING/* If you use a type with a larger word size here (e.g. 64 bits), code   will break.  I think the breakitude would be mostly limited to   acting like a machine with the larger wordsize, but that still   violates our deterministic-behavior promise. */typedef   signed int  idel_i32;	/* 32-bit, signed */typedef unsigned int  idel_u32;	/* 32-bit, unsigned */typedef   signed char idel_i8;	/*  8-bit, signed */typedef unsigned char idel_u8;	/*  8-bit, unsigned */enum { idel_word_bits = 32 };enum { idel_word_size = (int) sizeof (idel_u32) };/* The effect of >> on a negative number is not specified by the C   standard.  We need it to round to -infinity, so we encapsulate that in   asr: */#define idel_ASR(x, y)    ( (x) >> (y) )/* The direction of rounding in division of signed integers is   implementation-specified.  These should round towards 0: */#define idel_IDIV0(x, y)   ( (x) / (y) )#define idel_IMOD0(x, y)   ( (x) % (y) )/* There are other unspecified behaviors like arithmetic overflow, but   I haven't got around to wrappers for them yet... */#ifdef WORDS_BIGENDIANenum { idel_endianness = 0 };#elseenum { idel_endianness = 3 };#endif#endif /* _IDEL_PORTING */

⌨️ 快捷键说明

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