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

📄 acc_lib.h

📁 给程序加密(upx)
💻 H
📖 第 1 页 / 共 2 页
字号:
ACCLIB_EXTERN(int, acc_closedir) (acc_dir_p);/*************************************************************************// wrap misc**************************************************************************/#if (ACC_CC_GNUC) && (defined(__CYGWIN__) || defined(__MINGW32__))#  define acc_alloca(x)     __builtin_alloca((x))#elif (ACC_CC_BORLANDC) && defined(__linux__)  /* FIXME: alloca does not work */#elif (HAVE_ALLOCA)#  define acc_alloca(x)     alloca((x))#endif#if (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)#  define acc_stackavail()  stackavail()#elif (ACC_ARCH_IA16 && ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0410))#  define acc_stackavail()  stackavail()#elif (ACC_ARCH_IA16 && ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0400))#  if (ACC_OS_WIN16) && (ACC_MM_TINY || ACC_MM_SMALL || ACC_MM_MEDIUM)#  else#    define acc_stackavail()  stackavail()#  endif#elif ((ACC_ARCH_IA16 || ACC_ARCH_IA32) && (ACC_CC_DMC || ACC_CC_SYMANTECC))#  define acc_stackavail()  stackavail()#elif ((ACC_ARCH_IA16) && ACC_CC_MSC && (_MSC_VER >= 700))#  define acc_stackavail()  _stackavail()#elif ((ACC_ARCH_IA16) && ACC_CC_MSC)#  define acc_stackavail()  stackavail()#elif ((ACC_ARCH_IA16 || ACC_ARCH_IA32) && ACC_CC_TURBOC && (__TURBOC__ >= 0x0450))#  define acc_stackavail()  stackavail()#elif (ACC_ARCH_IA16 && ACC_CC_TURBOC && (__TURBOC__ >= 0x0400))   ACC_EXTERN_C size_t __cdecl stackavail(void);#  define acc_stackavail()  stackavail()#elif ((ACC_ARCH_IA16 || ACC_ARCH_IA32) && (ACC_CC_WATCOMC))#  define acc_stackavail()  stackavail()#elif (ACC_ARCH_IA16 && ACC_CC_ZORTECHC)#  define acc_stackavail()  _chkstack()#endifACCLIB_EXTERN(acclib_handle_t, acc_get_osfhandle) (int);ACCLIB_EXTERN(int, acc_isatty) (int);ACCLIB_EXTERN(int, acc_mkdir) (const char*, unsigned);ACCLIB_EXTERN(int, acc_response) (int*, char***);ACCLIB_EXTERN(int, acc_set_binmode) (int, int);ACCLIB_EXTERN(acc_int32l_t, acc_muldiv32) (acc_int32l_t, acc_int32l_t, acc_int32l_t);ACCLIB_EXTERN(acc_uint32l_t, acc_umuldiv32) (acc_uint32l_t, acc_uint32l_t, acc_uint32l_t);/*************************************************************************// uclock (real, i.e. "wall" clock)**************************************************************************/#if defined(acc_int32e_t)ACCLIB_EXTERN(int, acc_tsc_read) (acc_uint32e_t*);ACCLIB_EXTERN(int, acc_tsc_read_add) (acc_uint32e_t*);#endiftypedef struct { /* all private */    acclib_handle_t h;    int mode;#if (ACC_HAVE_WINDOWS_H) && defined(acc_int64l_t)    double qpf;#endif} acc_uclock_handle_t;typedef struct { /* all private */    union {        acc_uint32l_t t32;#if !(ACC_OS_DOS16 || ACC_OS_WIN16)        double td;#  if defined(acc_int64l_t)        acc_int64l_t t64;#  endif#endif    } ticks;#if (ACC_HAVE_WINDOWS_H) && defined(acc_int64l_t)    acc_int64l_t qpc;#endif} acc_uclock_t;#ifndef acc_uclock_handle_p#define acc_uclock_handle_p acc_uclock_handle_t *#endif#ifndef acc_uclock_p#define acc_uclock_p acc_uclock_t *#endifACCLIB_EXTERN(int, acc_uclock_open)  (acc_uclock_handle_p);ACCLIB_EXTERN(int, acc_uclock_close) (acc_uclock_handle_p);ACCLIB_EXTERN(void, acc_uclock_read) (acc_uclock_handle_p, acc_uclock_p);ACCLIB_EXTERN(double, acc_uclock_get_elapsed) (acc_uclock_handle_p, const acc_uclock_p, const acc_uclock_p);/*************************************************************************// performance counters (virtual clock)**************************************************************************/#if defined(acc_int64l_t)typedef struct { /* all private */#if (ACC_OS_POSIX_LINUX)    void* h;    unsigned cpu_type, cpu_features, cpu_khz, cpu_nrctrs;    const char* cpu_name;#else    void* h;#endif} acc_perfctr_handle_t;typedef struct {    acc_uint64l_t tsc;#if (ACC_OS_POSIX_LINUX)    acc_uint64l_t pmc[18];#else    acc_uint64l_t pmc[1];#endif} acc_perfctr_clock_t;#ifndef acc_perfctr_handle_p#define acc_perfctr_handle_p acc_perfctr_handle_t *#endif#ifndef acc_perfctr_clock_p#define acc_perfctr_clock_p acc_perfctr_clock_t *#endifACCLIB_EXTERN(int, acc_perfctr_open)  (acc_perfctr_handle_p);ACCLIB_EXTERN(int, acc_perfctr_close) (acc_perfctr_handle_p);ACCLIB_EXTERN(void, acc_perfctr_read) (acc_perfctr_handle_p, acc_perfctr_clock_p);ACCLIB_EXTERN(double, acc_perfctr_get_elapsed) (acc_perfctr_handle_p, const acc_perfctr_clock_p, const acc_perfctr_clock_p);ACCLIB_EXTERN(double, acc_perfctr_get_elapsed_tsc) (acc_perfctr_handle_p, acc_uint64l_t);#endif/*************************************************************************// Big Endian / Little Endian**************************************************************************/ACCLIB_EXTERN(unsigned, acc_get_be16) (const acc_hvoid_p);ACCLIB_EXTERN(acc_uint32l_t, acc_get_be24) (const acc_hvoid_p);ACCLIB_EXTERN(acc_uint32l_t, acc_get_be32) (const acc_hvoid_p);ACCLIB_EXTERN(void, acc_set_be16) (acc_hvoid_p, unsigned);ACCLIB_EXTERN(void, acc_set_be24) (acc_hvoid_p, acc_uint32l_t);ACCLIB_EXTERN(void, acc_set_be32) (acc_hvoid_p, acc_uint32l_t);ACCLIB_EXTERN(unsigned, acc_get_le16) (const acc_hvoid_p);ACCLIB_EXTERN(acc_uint32l_t, acc_get_le24) (const acc_hvoid_p);ACCLIB_EXTERN(acc_uint32l_t, acc_get_le32) (const acc_hvoid_p);ACCLIB_EXTERN(void, acc_set_le16) (acc_hvoid_p, unsigned);ACCLIB_EXTERN(void, acc_set_le24) (acc_hvoid_p, acc_uint32l_t);ACCLIB_EXTERN(void, acc_set_le32) (acc_hvoid_p, acc_uint32l_t);#if defined(acc_uint64l_t)ACCLIB_EXTERN(acc_uint64l_t, acc_get_be64) (const acc_hvoid_p);ACCLIB_EXTERN(void, acc_set_be64) (acc_hvoid_p, acc_uint64l_t);ACCLIB_EXTERN(acc_uint64l_t, acc_get_le64) (const acc_hvoid_p);ACCLIB_EXTERN(void, acc_set_le64) (acc_hvoid_p, acc_uint64l_t);#endif/* inline versions */#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32)#  define ACC_GET_LE16(p)       (* (const unsigned short *) (p))#  define ACC_GET_LE32(p)       (* (const acc_uint32e_t *) (p))#  define ACC_SET_LE16(p,v)     (* (unsigned short *) (p) = (unsigned short) (v))#  define ACC_SET_LE32(p,v)     (* (acc_uint32e_t *) (p) = (acc_uint32e_t) (v))#endif#if (ACC_ARCH_AMD64)#  define ACC_GET_LE64(p)       (* (const acc_uint64l_t *) (p))#  define ACC_SET_LE64(p,v)     (* (acc_uint64l_t *) (p) = (acc_uint64l_t) (v))#endif/*************************************************************************// getopt**************************************************************************/typedef struct {    const char* name;    int has_arg;    int* flag;    int val;} acc_getopt_longopt_t;#ifndef acc_getopt_longopt_p#define acc_getopt_longopt_p acc_getopt_longopt_t *#endiftypedef struct {    int go_argc;    char** go_argv;    const char* go_shortopts;    const acc_getopt_longopt_p longopts;#if (ACC_BROKEN_CDECL_ALT_SYNTAX)    int __acc_cdecl_va (*go_error)(const char *, ...);#else    int (__acc_cdecl_va *go_error)(const char *, ...);#endif} acc_getopt_t;#ifndef acc_getopt_p#define acc_getopt_p acc_getopt_t *#endifACCLIB_EXTERN(void, acc_getopt_init) (acc_getopt_p);ACCLIB_EXTERN(int, acc_getopt) (acc_getopt_p);ACCLIB_EXTERN(void, acc_getopt_close)(acc_getopt_p);/*************************************************************************// rand**************************************************************************/typedef struct { /* all private */    acc_uint32l_t seed;} acc_rand31_t;#ifndef acc_rand31_p#define acc_rand31_p acc_rand31_t *#endifACCLIB_EXTERN(void, acc_srand31) (acc_rand31_p, acc_uint32l_t);ACCLIB_EXTERN(acc_uint32l_t, acc_rand31) (acc_rand31_p);#if defined(acc_uint64l_t)typedef struct { /* all private */    acc_uint64l_t seed;} acc_rand48_t;#ifndef acc_rand48_p#define acc_rand48_p acc_rand48_t *#endifACCLIB_EXTERN(void, acc_srand48) (acc_rand48_p, acc_uint32l_t);ACCLIB_EXTERN(acc_uint32l_t, acc_rand48) (acc_rand48_p);ACCLIB_EXTERN(acc_uint32l_t, acc_rand48_r32) (acc_rand48_p);#endif#if defined(acc_uint64l_t)typedef struct { /* all private */    acc_uint64l_t seed;} acc_rand64_t;#ifndef acc_rand64_p#define acc_rand64_p acc_rand64_t *#endifACCLIB_EXTERN(void, acc_srand64) (acc_rand64_p, acc_uint64l_t);ACCLIB_EXTERN(acc_uint32l_t, acc_rand64) (acc_rand64_p);ACCLIB_EXTERN(acc_uint32l_t, acc_rand64_r32) (acc_rand64_p);#endiftypedef struct { /* all private */    unsigned n;    acc_uint32l_t s[624];} acc_randmt_t;#ifndef acc_randmt_p#define acc_randmt_p acc_randmt_t *#endifACCLIB_EXTERN(void, acc_srandmt) (acc_randmt_p, acc_uint32l_t);ACCLIB_EXTERN(acc_uint32l_t, acc_randmt) (acc_randmt_p);ACCLIB_EXTERN(acc_uint32l_t, acc_randmt_r32) (acc_randmt_p);#endif /* already included *//*vi:ts=4:et*/

⌨️ 快捷键说明

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