diff options
Diffstat (limited to 'winsup/mingw/samples/dlltest/loaddll.c')
-rw-r--r-- | winsup/mingw/samples/dlltest/loaddll.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/winsup/mingw/samples/dlltest/loaddll.c b/winsup/mingw/samples/dlltest/loaddll.c new file mode 100644 index 000000000..bbb34a3c9 --- /dev/null +++ b/winsup/mingw/samples/dlltest/loaddll.c @@ -0,0 +1,40 @@ +/*
+ * This version attempts to load dll.dll dynamically, get the address of the
+ * Add function, and then call it.
+ */
+
+#include <stdio.h>
+#include <windows.h>
+
+int (*Add)(int x, int y);
+
+int main()
+{
+ HINSTANCE hDll;
+ int i, j, k;
+
+ hDll = LoadLibrary ("dll.dll");
+ if (!hDll)
+ {
+ printf ("Error %d loading dll.\n", GetLastError());
+ exit (-1);
+ }
+
+ if (!(Add = GetProcAddress (hDll, "Add")))
+ {
+ printf ("Error %d getting Add function.\n", GetLastError());
+ exit (-1);
+ }
+
+ i = 10;
+ j = 13;
+
+ k = Add(i, j);
+
+ printf ("i %d, j %d, k %d\n", i, j, k);
+
+ FreeLibrary (hDll);
+
+ return 0;
+}
+
|