linker i punioci Flashcards
Sta je povezivanje?
Kombinovanje vise objektih fajlova u jedan fajl koji moze da se ucita u memoriju i/ili izvrsi
Kada moze da se izvrsi povezivanje?
1) U vreme kompajliranja [prevoddimo iz izvornog u masinski kod]
2) U vreme ucitavanja [kada imamo biblioteke koje hocemo da delimo]
3) u vreme izvrsavanja
Sta moze da dodje na ulaz linkera?
1) objektni fajlovi
2) deljene biblioteke
3) obicne biblioteke
4) parametri komande [razne opcije koje mu zadajemo upucuju sta da radi linker]
5)skript fajl
Sta moze da dobijemo na izlazu iz linkera?
1) izvrsni fajl
2) deljenu biblioteku
3) mapu povezivanja [informacije o tome kako je povezao ulazne fajlove]
Koje su dve glavne funkcije linkera?
1)razresavanje simbola
2)realokacija
Sta je razresavanje simbola?
Povezuje svaku referencu simbola sa tacno jednom definicijom
Sta je realokacija?
Sve reference simbola pokazuje im na koju adresu treba da gadjaju da bi nasli ono sto im treba
Koje greske mogu da se jave pri razresavanju simbola?
1) simbol je vec definisan
2) simbol nije uopste definisan
Sta sve moze da se desi kod razresavanja simbola?
1)simbol ima tacno 1 def
2)simb nije def u tekucem modulu
3) simbol nije def
4)globalni simbol je vise puta definisan
Kojom komandom linker ispisuje gresku ako smo imali vise def za jedan simbol?
-fno-common
Kakvi mogu biti globalni simboli?
Mogu biti jaki ili slabi
Koji simboli su jaki?
Globalne promenljive koje su inicijalizovane i funkcije
Koji simboli su slabi?
Neinicijalizovane globalne promenljive
Pravila za visestruku definiciju simbola po kojoj se odredjuje def simbola?
1) nema vise jakih def za jedan simbol
2) ako imamo jaki i vise slabih def, biramo jaki
3) ako imamo vise slabih def, biramo jednu od njih
Sta je staticka biblioteka?
Svi objektini fajlovi mogu umesto da se linkuju da se spakuju u jednu datoteku i to se naziva staticka biblioteka