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

📄 cc_test.c

📁 UPX 源代码
💻 C
字号:
/* cc_test.c -- examine compiler-generated library calls   This file is part of the UPX executable compressor.   Copyright (C) 2006-2007 Markus Franz Xaver Johannes Oberhumer   All Rights Reserved.   UPX and the UCL library are free software; you can redistribute them   and/or modify them under the terms of the GNU General Public License as   published by the Free Software Foundation; either version 2 of   the License, or (at your option) any later version.   This program is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the   GNU General Public License for more details.   You should have received a copy of the GNU General Public License   along with this program; see the file COPYING.   If not, write to the Free Software Foundation, Inc.,   59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.   Markus F.X.J. Oberhumer   <mfx@users.sourceforge.net> */#if 0 && defined(__WATCOMC__)#define __cdecl __watcall#endif/*************************************************************************//**************************************************************************/typedef short           int16_t;typedef unsigned short  uint16_t;typedef long            int32_t;typedef unsigned long   uint32_t;#if 1// simulated 32-bit pointertypedef char __huge*    hptr;typedef long            hptrdiff_t;typedef unsigned long   hsize_t;#elif 1// ignore segment overflowtypedef char __far*     hptr;typedef long            hptrdiff_t;typedef unsigned long   hsize_t;#else// no segmenttypedef char __near*    hptr;typedef short           hptrdiff_t;typedef unsigned short  hsize_t;#endif// pia - pointer addhptr __cdecl pia(hptr a, hsize_t d) { return a + d; }hptr __cdecl pia1(hptr a)           { return a + 1; }// pis - pointer subtracthptr __cdecl pis(hptr a, hsize_t d) { return a - d; }hptr __cdecl pis1(hptr a)           { return a - 1; }// pts - pointer diffhptrdiff_t __cdecl pts(hptr a, hptr b) { return a - b; }// ptc - pointer compare (__PTC sets zero and carry flags)int __cdecl ptc_eq(hptr a, hptr b) { return a == b; }int __cdecl ptc_ne(hptr a, hptr b) { return a != b; }int __cdecl ptc_lt(hptr a, hptr b) { return a < b; }int __cdecl ptc_le(hptr a, hptr b) { return a <= b; }int __cdecl ptc_gt(hptr a, hptr b) { return a > b; }int __cdecl ptc_ge(hptr a, hptr b) { return a >= b; }// u4m - unsigned multiplicationuint32_t __cdecl u4m(uint32_t a, uint32_t b) { return a * b; }uint32_t __pascal u4m_p(uint32_t a, uint32_t b) { return b * a; }// i4m - signed multiplicationint32_t  __cdecl i4m(int32_t  a, int32_t  b) { return a * b; }int32_t  __pascal i4m_p(int32_t a, int32_t b) { return b * a; }// just for testinguint16_t __cdecl u2m(uint16_t a, uint16_t b) { return a * b; }int16_t  __cdecl i2m(int16_t  a, int16_t  b) { return a * b; }uint32_t __cdecl u2m4(uint16_t a, uint16_t b) { return a * b; }int32_t  __cdecl i2m4(int16_t  a, int16_t  b) { return a * b; }uint16_t __cdecl u2shl8 (uint16_t a) { return a <<  8; }uint32_t __cdecl u4shl8 (uint32_t a) { return a <<  8; }uint16_t __cdecl u2shl12(uint16_t a) { return a << 12; }uint32_t __cdecl u4shl12(uint32_t a) { return a << 12; }uint32_t __cdecl u4shl16(uint32_t a) { return a << 16; }uint32_t __cdecl u4shl24(uint32_t a) { return a << 24; }uint16_t __cdecl u2shlv(uint16_t a, unsigned v) { return a << v; }uint32_t __cdecl u4shlv(uint32_t a, unsigned v) { return a << v; }void __pascal p4nshlv_v(unsigned char v, uint32_t __near *a) { *a <<= v; }void __pascal p4fshlv_v(unsigned char v, uint32_t __far *a) { *a <<= v; }uint32_t __pascal p4nshlv(unsigned char v, uint32_t __near *a) { return *a <<= v; }uint32_t __pascal p4fshlv(unsigned char v, uint32_t __far *a) { return *a <<= v; }hptrdiff_t __cdecl hptr2int(hptr a) { return (hptrdiff_t) a; }hptr __cdecl int2hptr(hptrdiff_t a) { return (hptr) a; }/* vim:set ts=4 et: */

⌨️ 快捷键说明

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