[C] Biblioteki dynamiczne w systemie linux

0

Czy ktos moglby mi pokazac jakis przykladowy kod takiej biblioteki i programu korzystajacego z niej ?

0
/* glowny.c */
#include "biblioteka.h"
int
main()
{
    if (funkcja2())
	funkcja1();
    return 0;
}

/* biblioteka.h */
int funkcja1();
int funkcja2();

/* a.c */
#include <stdio.h>
int
funkcja1()
{
    printf("funkcja 1 z biblioteki");
    return 0;
}

/* b.c */
int
funkcja2()
{
    return 1;
}

/* Makefile */
OBJS      = a.o b.o
LIBNAME   = biblioteka
SONAME    = libbiblioteka.so.1.0.0
SOVERSION = libbiblioteka.so.1.0
CFLAGS    = -Wall
PROGNAME  = glowny
 
all:    lib$(LIBNAME).so glowny
 
glowny: lib$(LIBNAME).so glowny.c
	gcc $(CFLAGS) -o $(PROGNAME) glowny.c -L. -l${LIBNAME}
 
lib$(LIBNAME).so: $(OBJS)
	gcc -shared -Wl,-soname,$(SOVERSION) -o $(SONAME) $(OBJS) -lc && \
	ln -sf $(SONAME) $(SOVERSION) && \
	ln -sf $(SONAME) lib$(LIBNAME).so
 
.c.o:
	gcc -fPIC -DPIC $(CFLAGS) -c -o $*.o $<
 
clean:
	rm -f *.o *.a *.so glowny

1 użytkowników online, w tym zalogowanych: 0, gości: 1