consolidate all repos to one for archive
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
#include <dlfcn.h>
|
||||
#include <locale.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
void* handle = NULL;
|
||||
void (*izpis)();
|
||||
int (*vsota)(int,int);
|
||||
|
||||
printf("Primer eksplicitne uporabe dinamicnih knjiznic\n");
|
||||
handle = dlopen("./libprva.so",RTLD_LAZY);
|
||||
if (handle == NULL)
|
||||
{
|
||||
perror("Ne morem odpreti libprva.so\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Klic prve funkcije */
|
||||
izpis=(void(*)(void))dlsym(handle,"izpisi_pozdrav");
|
||||
if (izpis==NULL)
|
||||
{
|
||||
perror("Ne najdem funkcije izpisi_pozdrav\n");
|
||||
return -2;
|
||||
}
|
||||
izpis();
|
||||
|
||||
/* Klic druge funkcije */
|
||||
vsota=(int(*)(int,int))dlsym(handle,"vrni_vsoto");
|
||||
if (vsota==NULL)
|
||||
{
|
||||
perror("Ne najdem funkcije vrni_vsota\n");
|
||||
return -3;
|
||||
}
|
||||
printf("Vsota: %d\n",vsota(40,2));
|
||||
|
||||
/* Klic tretje funkcije */
|
||||
void (*izpisi_niz)(char*);
|
||||
izpisi_niz=(void(*)(char*))dlsym(handle,"izpisi_niz");
|
||||
if (izpisi_niz==NULL)
|
||||
{
|
||||
perror("Ne najdem funkcije izpisi_niz\n");
|
||||
return -7;
|
||||
}
|
||||
izpisi_niz("Niz, ki ga izpise 3. funkcija!");
|
||||
|
||||
/* Spremenljivka */
|
||||
int *spremenljivka;
|
||||
spremenljivka=(int *)dlsym(handle,"vrednost");
|
||||
if (spremenljivka==NULL)
|
||||
{
|
||||
perror("Ne najdem spremenljivke vrednost\n");
|
||||
return -7;
|
||||
}
|
||||
printf("Spremenljivka ima vrednost: %d\n",*spremenljivka);
|
||||
|
||||
dlclose(handle);
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user