Markus Rechberger / Shared Libraries
 
StartSeite | MarkusRechberger/ | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern

Shared Libraries

libtool --mode=link gcc -shared test.c -o libtest.so -O3 -Wall -Wno-trigraphs -fPIC -g

Funktionen sollten zwischen den Macros __BEGIN_DECLS und __END_DECLS definiert werden um mit C++ Programmen diesbezüglich keine Probleme zu bekommen

Beide Macros im Hintergrund:
/* C++ needs to know that types and declarations are C, not C++.  */
#ifdef  __cplusplus
#define __BEGIN_DECLS   extern "C" {
#define __END_DECLS     }
#else
#define __BEGIN_DECLS
#define __END_DECLS
#endif

libtool .. ein Script welches das erstellen von Libraries auf verschiedenen Architekturen erleichtert

gcc .. gnu Compiler

-shared .. Flag um ein Shared Library zu erstellen

-o libtest.so .. Libraries haben im Linux ein prefix lib[test.so] will man ein Programm schreiben welches dieses Library benutzt muss man den mainsource mit dem Library verlinken, dies würde in diesem Fall durch -ltest geschehen

-O3 .. Optimierungslevel

-Wall .. display all warnings

-Wno-trigraphs .. gibt keine warnungen bei trigraphs aus

-fPIC .. position independent code - für shared libraries

-g .. debug

Generell

Header Dateien die öfter Inkludiert werden könnten sollten wie folgt aussehen:
#ifndef __LIB_yourlibraryname
#define __LIB_yourlibraryname
... declarations
#endif


StartSeite | MarkusRechberger/ | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern
Text dieser Seite ändern (zuletzt geändert: 12. Oktober 2004 23:35 (diff))
Suchbegriff: gesucht wird
im Titel
im Text