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

📄 dll_init.h

📁 cygwin, 著名的在win32下模拟unix操作系统的东东
💻 H
字号:
/* dll_init.h   Copyright 1998, 1999, 2000, 2001 Red Hat, Inc.This file is part of Cygwin.This software is a copyrighted work licensed under the terms of theCygwin license.  Please consult the file "CYGWIN_LICENSE" fordetails. */struct per_module{  char ***envptr;  void (**ctors)(void);  void (**dtors)(void);  void *data_start;  void *data_end;  void *bss_start;  void *bss_end;  int (*main)(int, char **, char **);  per_module &operator = (per_process *p)  {    envptr = p->envptr;    ctors = p->ctors;    dtors = p->dtors;    data_start = p->data_start;    data_end = p->data_end;    bss_start = p->bss_start;    bss_end = p->bss_end;    main = p->main;    return *this;  }  void run_ctors ();  void run_dtors ();};typedef enum{  DLL_NONE,  DLL_LINK,  DLL_LOAD,  DLL_ANY} dll_type;struct dll{  struct dll *next, *prev;  per_module p;  HMODULE handle;  int count;  dll_type type;  int namelen;  char name[MAX_PATH + 1];  void detach ();  int init ();};#define MAX_DLL_BEFORE_INIT     100class dll_list{  dll *end;  dll *hold;  dll_type hold_type;public:  dll start;  int tot;  int loaded_dlls;  int reload_on_fork;  dll *operator [] (const char *name);  dll *alloc (HINSTANCE, per_process *, dll_type);  void detach (void *);  void init ();  void load_after_fork (HANDLE, dll *);  dll *inext ()  {    while ((hold = hold->next))      if (hold_type == DLL_ANY || hold->type == hold_type)	break;    return hold;  }  dll *istart (dll_type t)  {    hold_type = t;    hold = &start;    return inext ();  }};extern dll_list dlls;

⌨️ 快捷键说明

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