February 10, 2006 dll supportt | ||||
---|---|---|---|---|
| ||||
how do i create a dll using dmc compiler |
February 10, 2006 Re: dll supportt | ||||
---|---|---|---|---|
| ||||
Posted in reply to qqqqxxx | qqqqxxx wrote: > how do i create a dll using dmc compiler > A quick example: First the source of the .dll, put it into dmcdll.c: #include <windows.h> #include "dmcdll.h" BOOL APIENTRY DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break; } return TRUE; } __declspec( dllexport ) int DoSomething(int a, int b) { return a*b*2; } Then a headerfile called dmcdll.h: __declspec( dllexport ) BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved); __declspec( dllexport ) int DoSomething(int a, int b); And a small test program called dmctest.c: #include <stdio.h> #include <windows.h> #include "dmcdll.h" int main() { printf("Result: %d\n", DoSomething(12, 32)); return 0; } Now we can build the dll with this command: dmc -mn -WD dmcdll.c kernel32.lib The we create a .lib from the .dll: implib.exe /noi /system dmcdll.lib dmcdll.dll And compile our test program, using the .lib: dmc dmctest.c dmcdll.lib Then you can run dmctest.exe, which with a bit of lock should print: Result: 768 -- Absolutely not the best homepage on the net: http://home20.inet.tele.dk/midgaard But it's mine - Bertel |
Copyright © 1999-2021 by the D Language Foundation