delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2000/10/10/17:05:46

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Date: Tue, 10 Oct 2000 16:57:21 -0400
Message-Id: <200010102057.QAA12754@envy.delorie.com>
From: DJ Delorie <dj AT delorie DOT com>
To: timr AT viaworks DOT com
CC: cygwin AT sources DOT redhat DOT com
In-reply-to: <Pine.LNX.4.10.10010101352090.16403-100000@vserver.viaworks.com>
(message from Tim Reed on Tue, 10 Oct 2000 13:53:57 -0700 (PDT))
Subject: Re: dllwrap and excluded symbols
References: <Pine DOT LNX DOT 4 DOT 10 DOT 10010101352090 DOT 16403-100000 AT vserver DOT viaworks DOT com>

> Does that mean that I can't have my dll load other dll's implicitly?
> Do I have write my own DllMainCRTStartup function that will load in
> crtdll and msvcrt?

The problem you are seeing has nothing to do with loading dlls, either
implicitly or explicitly.

Every DLL needs to have an "entry point" (like main() in a C program).
Windows calls this entry point when *it* loads the DLL, so that the
DLL can initialize itself.  NOBODY ELSE calls these entry points, so
exporting them is *dangerous*.  Thus, the linker knows to ignore the
"common" entry point names.

You should write an entry point function, but if you don't *and* link
with libcygwin.a, one will be provided for you.  If you don't use
cygwin, I don't know what mingw does for you.

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019