predstavitev seminarja

This commit is contained in:
Jaka Furlan 2026-01-11 21:29:07 +01:00
parent a82fd0ab4e
commit f7a1d65649
7 changed files with 49 additions and 0 deletions

BIN
seminar/Malloc.pptx Normal file

Binary file not shown.

BIN
seminar/a.out Normal file

Binary file not shown.

BIN
seminar/large_bins.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

17
seminar/malloc_0_size.c Normal file
View file

@ -0,0 +1,17 @@
#include <stdlib.h>
#include <stdio.h>
int main(){
int *ptr = malloc(0);
if(ptr == NULL){
printf("Vrednost ptr je NULL\n");
return 0;
}
printf("Vrednost ptr je %d\n", ptr);
int skrivnostnaVrednost = *ptr;
printf("SkrivnostnaVrednost na katero kaže prt je %d\n", skrivnostnaVrednost);
free(ptr);
return 0;
}

32
seminar/malloc_sbrk_brk.c Normal file
View file

@ -0,0 +1,32 @@
#include <stdio.h>
#include <unistd.h>
int main() {
printf("Konec originalne kopice programa: %p\n", sbrk(0));
//dodelimo nekaj spomina, sbkr vrne začetek nove kopice
void *p = sbrk(4096);
//preverimo za neuspeh
if(p == (void*)-1) {
printf("sbkr failed\n");
return 1;
}
//razlika v koncih je vrjetno zaradi klica printf, ki morda klice malloc
printf("Konec kopice pred klicem sbkr: %p\n", p);
printf("Konec kopice po klicu sbkr: %p\n", sbrk(0));
//shranimo nekaj na spomin
int *x = (int*)p;
x[0] = 42;
printf("Na mestu %p je shranjeno stevilo %d\n", &x[0], x[0]);
//odstranimo spomin
if(brk(p) != 0) {
printf("Odstranjevanje je neuspesno!\n");
return 1;
}
printf("Po odstranjevanju je konec kopice na %p\n", sbrk(0));
return 0;
}

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB