Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
1 Quelltext - dllexport - shared library

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - C
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
mandeltuete



Anmeldungsdatum: 22.08.2002
Beiträge: 4
Wohnort: Neuhausen am Rheinfall

BeitragVerfasst am: 24. Aug 2002 12:55   Titel: 1 Quelltext - dllexport - shared library

Hallo!

Ich habe folgendes Denkproblem:
Ich möchte Funktionen mit __declspec(dllexport) unter Windows, und mit einer Shared Library unter Linux exportieren.

Das heisst:
Unter Windows sollte die Funktion so aussehen:
__declspec(dllexport) int IchbineineFunktion(int i); [oder mit {}]

Unter Linux aber nur so:
int IchbineineFunktion(int i);

Vor jede Funktion ein #ifndef, etc. hinzuschreiben ist mir zu umständlich.

Gibt es da eine andere Möglichkeit?


Danke für eure Hilfe im Vorraus!
Serge
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

tkortkamp



Anmeldungsdatum: 08.04.2001
Beiträge: 143
Wohnort: Bremen

BeitragVerfasst am: 24. Aug 2002 15:14   Titel: Re: 1 Quelltext - dllexport - shared library

Jap. So:
code:

#ifdef WIN32
_declspec(dllexport) int IchbineineFunktion(int i);
_declspec(dllexport) int IchbineineandereFunktion(int i);
#else
int IchbineineFunktion(int i);
int IchbineineandereFunktion(int i);
#endif



Weiß jetzt aber nicht ob das Makro dafür WIN32 ist, aber das weißt du ja bestimmt

c ya,
Tobias
_________________
dude i'm pretty damn sure you could script somebody back to life


Zuletzt bearbeitet von tkortkamp am 24. Aug 2002 15:14, insgesamt 2-mal bearbeitet
 
Benutzer-Profile anzeigen Private Nachricht senden

Udo Maslo
Gast





BeitragVerfasst am: 25. Aug 2002 4:17   Titel: Re: 1 Quelltext - dllexport - shared library

Unter nicht-Win irgendwo global (Makefile) leer definieren

code:

// ? WIN32, vieleicht auch _BORLAND_ , _BILL_G_ oder ähnlich ?
#ifndef WIN32
#define __declspec(dllexport)
#endif

/* schadet nicht */
_declspec(dllexport) int main()
{
puts( "Hallo!" );
return( 0 );
}

 

Udo Maslo
Gast





BeitragVerfasst am: 25. Aug 2002 4:21   Titel: Re: 1 Quelltext - dllexport - shared library

Einen Unterstrich mehr oder weniger ... (Falls jemand cuttet und pastet)
 

mandeltuete



Anmeldungsdatum: 22.08.2002
Beiträge: 4
Wohnort: Neuhausen am Rheinfall

BeitragVerfasst am: 25. Aug 2002 22:03   Titel: Re: 1 Quelltext - dllexport - shared library

Hmm, das von Tobias hät ich auch selber draufkommen können. Aber: Dann muss ich alles doppelt machen, funktionsrümpfe, etc!

@Udo Maslo:
Also ignoriert Linux das __declespec(dllexport)?
Kannst du das mit dem #define __declspec(dllexport) und mit dem #define [leer] nochmals erklären? Das hab ich ned ganz verstanden..

Danke für eure Hilfe!
Serge
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

Udo M.
Gast





BeitragVerfasst am: 25. Aug 2002 22:59   Titel: Re: 1 Quelltext - dllexport - shared library

Na so, einfach nichts hinschreiben:
#define __declspec(dllexport)
Also nicht so:
#define __declspec(dllexport) Hier steht, bei der Definition dieses Makros, was die Windows-Compiler machen

Klaro?
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - C Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy