summaryrefslogtreecommitdiffstats
path: root/winsup
diff options
context:
space:
mode:
Diffstat (limited to 'winsup')
-rw-r--r--winsup/doc/ChangeLog5
-rw-r--r--winsup/doc/how-programming.texinfo16
2 files changed, 21 insertions, 0 deletions
diff --git a/winsup/doc/ChangeLog b/winsup/doc/ChangeLog
index e9b4607a9..0a14adf19 100644
--- a/winsup/doc/ChangeLog
+++ b/winsup/doc/ChangeLog
@@ -1,3 +1,8 @@
+2005-06-03 Max Kaehn <slothman@electric-cloud.com>
+
+ * how-programming.texinfo: Add "How do I load cygwin1.dll dynamically
+ from a Visual Studio or MinGW application?"
+
2005-05-28 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* how-using.texinfo : Update the mkdir -p section to reflect
diff --git a/winsup/doc/how-programming.texinfo b/winsup/doc/how-programming.texinfo
index 3003ff7c3..ae233cfbd 100644
--- a/winsup/doc/how-programming.texinfo
+++ b/winsup/doc/how-programming.texinfo
@@ -269,6 +269,22 @@ then generate import libraries for the MS VC linker.
Thanks to Alastair Growcott (alastair dot growcott at bakbone dot co
dot uk) for this tip.
+@subsection How do I load @samp{cygwin1.dll} dynamically from a Visual Studio or MinGW application?
+
+Read @code{how-cygtls-works.txt} and the sample code in
+@code{winsup/testsuite/cygload} if you want to understand how this works.
+The short version is:
+
+@enumerate
+@item Make sure you have 4K of scratch space at the bottom of your stack.
+@item Invoke @code{cygwin_dll_init()}:
+@example
+HMODULE h = LoadLibrary("cygwin1.dll");
+void (*init)() = GetProcAddress(h, "cygwin_dll_init");
+init();
+@end example
+@end enumerate
+
@subsection How do I link against a @samp{.lib} file?
If your @samp{.lib} file is a normal static or import library with