import winsup-2000-02-17 snapshot

This commit is contained in:
Christopher Faylor
2000-02-17 19:38:33 +00:00
parent 369d8a8fd5
commit 1fd5e000ac
582 changed files with 146593 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
#include <windows.h>
BOOL WINAPI
DllMain (HANDLE hDll, DWORD dwReason, LPVOID lpReserved)
{
switch (dwReason)
{
case DLL_PROCESS_ATTACH:
printf ("DLL Attached.\n");
break;
case DLL_PROCESS_DETACH:
printf ("DLL Detached.\n");
break;
case DLL_THREAD_ATTACH:
printf ("DLL Thread Attached.\n");
break;
case DLL_THREAD_DETACH:
printf ("DLL Thread Detached.\n");
break;
}
return TRUE;
}
void
Test ()
{
printf ("Test Function called!\n");
}

View File

@@ -0,0 +1,44 @@
//
// This is a C++ version of the code in dll.c. NOTE that you need to put
// extern "C" { ... } around DllMain or it will not be called when your
// Dll starts up! (It will get name mangled as a C++ function and the C
// default version in libmingw32.a will get called instead.)
//
#include <windows.h>
#include <iostream>
extern "C" {
BOOL WINAPI
DllMain (HANDLE hDll, DWORD dwReason, LPVOID lpReserved)
{
switch (dwReason)
{
case DLL_PROCESS_ATTACH:
cout << "Dll Attached" << endl ;
break;
case DLL_PROCESS_DETACH:
cout << "Dll Detached" << endl ;
break;
case DLL_THREAD_ATTACH:
printf ("DLL Thread Attached.\n");
break;
case DLL_THREAD_DETACH:
printf ("DLL Thread Detached.\n");
break;
}
return TRUE;
}
void
Test ()
{
printf ("Test Function called!\n");
}
};

View File

@@ -0,0 +1,2 @@
EXPORTS
Test

View File

@@ -0,0 +1,13 @@
#include <stdio.h>
extern void Test();
int main()
{
printf ("Program started.\n");
Test ();
printf ("Program ends.\n");
return 0;
}

View File

@@ -0,0 +1,14 @@
Dll dll.dll : dll.c ;
ImportLib libdll.a : dll.def ;
Main exe.exe : exe.c ;
LinkLibraries exe.exe : libdll.a ;
DEPENDS exe.exe : dll.dll ;
LINKFLAGS on exe.exe = $(LINKFLAGS) -L. ;

View File

@@ -0,0 +1,23 @@
rem *** Create the import library for the dll ***
dlltool --dllname dll.dll --def dll.def --output-lib libdll.a
rem *** Compile the dll ***
gcc -c -o dll.o dll.c
rem *** Link the dll ***
gcc -s -mdll -o dll.dll -Wl,--base-file,dll.b dll.o
dlltool --dllname dll.dll --base-file dll.b --output-exp dll.e --def dll.def
gcc -s -mdll -o dll.dll -Wl,--base-file,dll.b dll.o -Wl,dll.e
dlltool --dllname dll.dll --base-file dll.b --output-exp dll.e --def dll.def
gcc -s -mdll -o dll.dll dll.o -Wl,dll.e
rem *** Delete temporary files from dll linking ***
del dll.b
del dll.e
rem *** Compile exe, which uses dll. ***
gcc -c -o exe.o exe.c
rem *** Link exe.exe, which uses dll.dll ***
gcc -s -L. -o exe.exe exe.o libdll.a