Outils pour utilisateurs

Outils du site


gcc_lib_dynamque

Ceci est une ancienne révision du document !


Librairies dynamiques avec GCC

(Un equivalent des DLL de Windoz)
C'est la librairie libdl et ses fonctions dlxxx qui permettent cela.

Creer une librairie simple:

#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>

static int lib_load = 0;

unsigned int my_inc( unsigned int *value )
{
if ( value )
{
(*value)++;
return( (*value) );
}

return( 0 );
}

int my_stat( void )
{
return( lib_load );
}

void attribute 1) onload( void )
{
lib_load++;
}

void attribute 2) onunload( void )
{
lib_load–;
}

Pour compiler:
$ gcc -g -Wall %blue%-shared -fPIC%% mylibtest.c -o mylibtest.so

A savoir:

Tout ce qui n'est pas static sera visible.
onload et onunload sont juste la pour montrer la possibilite d'executer du code au chargement et déchargement de la lib (mais il paraît que ce n'est pas 'portable')

A suivre…

1)
constructor
2)
destructor
gcc_lib_dynamque.1175036064.txt.gz · Dernière modification : 2007/03/27 22:54 de thierry