consolidate all repos to one for archive

This commit is contained in:
2025-01-28 13:46:42 +01:00
commit a6610fbc7a
5350 changed files with 2705721 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
all: lib build run clean
build:
gcc -m32 main.c -o demo_eksplicitno -ldl
run:
./demo_eksplicitno "Jaz Sem Velik" 2 5
clean:
rm -f demo_eksplicitno libXPO.a libXPO.o libXPO.so
lib:
gcc -m32 -c libXPO.c -o libXPO.o
gcc -m32 -shared -o libXPO.so libXPO.o
zip:
zip eksplicitno.zip Makefile libXPO.c libXPO.h main.c

View File

@@ -0,0 +1,17 @@
#include "libXPO.h"
#include <string.h>
#include <stdio.h>
uint32_t sestej(uint32_t a, uint32_t b)
{
return a+b;
}
void niz_veliki(char* niz)
{
size_t size = strlen(niz);
for (size_t i = 0; i < size; i++)
if(niz[i] >= 'a' && niz[i] <= 'z')
niz[i] -= 32;
}

View File

@@ -0,0 +1,5 @@
#include <inttypes.h>
#include <stdlib.h>
uint32_t sestej(uint32_t a, uint32_t b);
void niz_veliki(char* niz);

View File

@@ -0,0 +1,71 @@
#include <stdio.h>
#include <dlfcn.h>
#include <locale.h>
#include <stdlib.h>
int main(int argc, char** argv)
{
if(argc < 3){
printf("Usage");
return 0;
}
char* niz = argv[1];
int i = atoi(argv[2]);
int j = atoi(argv[3]);
void* handle = NULL;
void (*izpis)();
int (*vsota)(int,int);
handle = dlopen("./libXPO.so",RTLD_LAZY);
if (handle == NULL)
{
perror("Ne morem odpreti libprva.so\n");
return -1;
}
izpis=(void(*)(void))dlsym(handle,"niz_veliki");
if (izpis==NULL)
{
perror("Ne najdem funkcije izpisi_pozdrav\n");
return -2;
}
izpis(niz);
printf("%s\n", niz);
vsota=(int(*)(int,int))dlsym(handle,"sestej");
if (vsota==NULL)
{
perror("Ne najdem funkcije sestej\n");
return -3;
}
printf("rezultat: %d\n",vsota(i,j));
dlclose(handle);
return 0;
}