Changeset 2650 for trunk/src/crtdll
- Timestamp:
- Feb 5, 2000, 3:19:44 AM (26 years ago)
- Location:
- trunk/src/crtdll
- Files:
-
- 1 added
- 3 edited
-
crtdll.def (modified) (2 diffs)
-
crtdll.rc (added)
-
initterm.cpp (modified) (5 diffs)
-
makefile (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/crtdll/crtdll.def
r2223 r2650 1 ; $Id: crtdll.def,v 1.1 2 1999-12-28 10:31:00sandervl Exp $1 ; $Id: crtdll.def,v 1.13 2000-02-05 01:55:11 sandervl Exp $ 2 2 3 3 ; … … 146 146 _heapwalk = _CRTDLL__heapwalk @133 147 147 _hypot = _CRTDLL__hypot @134 148 _initterm = _ DLL_InitTerm@135148 _initterm = _CRTDLL_Init@12 @135 149 149 _iob = CRTDLL_iob @136 150 150 _isatty = _CRTDLL__isatty @137 -
trunk/src/crtdll/initterm.cpp
r951 r2650 1 /* $Id: initterm.cpp,v 1. 2 1999-09-15 23:26:06sandervl Exp $ */1 /* $Id: initterm.cpp,v 1.3 2000-02-05 01:55:11 sandervl Exp $ */ 2 2 3 3 /* … … 34 34 #include <misc.h> /*PLF Wed 98-03-18 23:18:15*/ 35 35 #include <win32type.h> 36 #include <winconst.h> 36 37 #include <odinlx.h> 37 38 … … 39 40 void CDECL _ctordtorInit( void ); 40 41 void CDECL _ctordtorTerm( void ); 42 43 //Win32 resource table (produced by wrc) 44 extern DWORD _Resource_PEResTab; 41 45 } 42 46 43 47 BOOL WIN32API CRTDLL_Init(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved); 44 48 45 /*-------------------------------------------------------------------*/ 46 /* A clean up routine registered with DosExitList must be used if */ 47 /* runtime calls are required and the runtime is dynamically linked. */ 48 /* This will guarantee that this clean up routine is run before the */ 49 /* library DLL is terminated. */ 50 /*-------------------------------------------------------------------*/ 51 static void APIENTRY cleanup(ULONG reason); 49 //****************************************************************************** 50 //****************************************************************************** 51 BOOL WINAPI LibMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad) 52 { 53 switch (fdwReason) 54 { 55 case DLL_PROCESS_ATTACH: 56 case DLL_THREAD_ATTACH: 57 case DLL_THREAD_DETACH: 58 return CRTDLL_Init(hinstDLL, fdwReason, fImpLoad); 52 59 53 60 case DLL_PROCESS_DETACH: 61 CRTDLL_Init(hinstDLL, fdwReason, fImpLoad); 62 _ctordtorTerm(); 63 return TRUE; 64 } 65 return FALSE; 66 } 54 67 /****************************************************************************/ 55 68 /* _DLL_InitTerm is the function that gets called by the operating system */ … … 78 91 CheckVersionFromHMOD(PE2LX_VERSION, hModule); /*PLF Wed 98-03-18 05:28:48*/ 79 92 80 /*******************************************************************/ 81 /* A DosExitList routine must be used to clean up if runtime calls */ 82 /* are required and the runtime is dynamically linked. */ 83 /*******************************************************************/ 84 85 rc = DosExitList(0x0000F000|EXLST_ADD, cleanup); 86 if(rc) 87 return 0UL; 88 89 if(RegisterLxDll(hModule, CRTDLL_Init, 0) == FALSE) 93 if(RegisterLxDll(hModule, LibMain, (PVOID)&_Resource_PEResTab) == FALSE) 90 94 return 0UL; 91 95 … … 104 108 return 1UL; 105 109 } 106 107 108 static void APIENTRY cleanup(ULONG ulReason) 109 { 110 _ctordtorTerm(); 111 DosExitList(EXLST_EXIT, cleanup); 112 return ; 113 } 110 //****************************************************************************** 111 //****************************************************************************** -
trunk/src/crtdll/makefile
r2618 r2650 1 # $Id: makefile,v 1. 6 2000-02-03 21:37:49sandervl Exp $1 # $Id: makefile,v 1.7 2000-02-05 01:55:11 sandervl Exp $ 2 2 3 3 # … … 23 23 24 24 OBJS = crtdll.obj asmhlp.obj stubs.obj internal.obj crt_string.obj \ 25 crt_memory.obj crt_mb.obj crt_wc.obj initterm.obj 25 crt_memory.obj crt_mb.obj crt_wc.obj initterm.obj resource.obj 26 26 27 27 all: $(TARGET).dll $(TARGET).lib … … 42 42 $(IMPDEF) $** $@ 43 43 44 resource.asm: $(TARGET).rc 45 $(RC) $(RCFLAGS) -o resource.asm $(TARGET).rc 44 46 45 initterm.obj: initterm.cpp 47 resource.obj: resource.asm 48 49 initterm.obj: initterm.cpp $(PDWIN32_INCLUDE)\exitlist.h 46 50 asmhlp.obj: asmhlp.asm 47 51 stubs.obj: stubs.cpp
Note:
See TracChangeset
for help on using the changeset viewer.
