delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/12/30/16:36:19

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Message-ID: <3FF1EFB3.5000509@keypro.fi>
Date: Tue, 30 Dec 2003 23:35:47 +0200
From: Jani Tiainen <jani DOT tiainen AT keypro DOT fi>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.6b) Gecko/20031205 Thunderbird/0.4
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: DLL and external symbols

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 <stdio.h>

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?

With .DEF files I can get things compiled and linked, but even program 
crashes at startup, or end up requesting "main.exp.dll".


--
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/

- Raw text -


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