Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Reply-To: Cygwin List Message-Id: <6.0.1.1.0.20031230230034.03baab08@127.0.0.1> X-Sender: Date: Tue, 30 Dec 2003 23:03:11 -0500 To: Jani Tiainen , cygwin AT cygwin DOT com From: Larry Hall Subject: Re: DLL and external symbols In-Reply-To: <3FF1EFB3.5000509@keypro.fi> References: <3FF1EFB3 DOT 5000509 AT keypro DOT fi> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" At 04:35 PM 12/30/2003, Jani Tiainen you wrote: >Hi, > >I'm sure that this has been answered several times, but I'll ask again because couldn't find any solution by myself. > >I would like to build DLL (or any other sort of library) that refers to external symbols in main application. > >So far I have been able to build non-working constructs. =) > >Let's say that I've two files: > >main.c: > >#include > >extern void funcInMyLib(int); > >void funcInMain(int i) >{ > printf("funcInMain(%ld)\n", i); >} > >int main(int argc, char **argv) >{ > funcInMyLib(1); > return 0; >} > >and second file (library) > >mylib.c: >extern void funcInMain(int); > >void funcInMyLib(int i) >{ > printf("Calling back..."); > funcInMain(i + 1); >} > >-------- > >Now how I can get this working, or is it possible at all? It's possible but you have to move "funcInMain()" into the DLL with "funcInMyLib()" or into another DLL. That's the straight-forward answer. -- Larry Hall http://www.rfk.com RFK Partners, Inc. (508) 893-9779 - RFK Office 838 Washington Street (508) 893-9889 - FAX Holliston, MA 01746 -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/