zajimavej konec serie, jen me tam chybi neco co by oslovilo, jako vazne oslovilo, toto si muzu vygooglit nebo najit normalne v literature ...
zamyslel ses nekdy na tim co chces rict ostatnim nez sem postnes takovou vec? neber me zaprudica (stejne ma tak oznaci) ale toto je fakt ubohej clanek a jako zeverecnej dil to dost hovno graduje a to jako vazne ... kdyby prisel vlk a sezral cervenou karkulu a byl napsanej v assembleru tak vona by na neho pouzila Mono.bloky a kdo by vyhral ;))) ale to jenom tak na okraj ...
raci si du otevrit dalsi pivo a premyslet kde muzu sehnat naky hodnotny info, au revoir ...
Alokace pameti:
Pokud se vam sys_brk nelibi a radeji by jste alokovali blok pameti jako v DOSu (ehm ... ja v DOSu nikdy nic nealokoval, protoze jsem od zacatku mel celou pamet, naopak u rezidentu jsem ji musel uvolnovat ...), muzete. Klicova slova jsou mmap a /dev/zero, resp MAP_ANONYMOUS.
Standartni malloc resi male pozadavky pres sys_brk a velke pres mmap.
Connection:
Ve formatu a.out, stejne jako v obj, skutecne bylo nutne pouzivat podtrznitko. Ve formatu ELF to nejen neni nutne, ale ani to nema smysl - pokud tam ta funkce s podtrznitkem je, je to jen nahoda (pravda, u funkci libc dost casta ...).
Pouzivani EBP je pouze konvence a lze ji vypnout (gcc -fomit_frame_pointers). Pro cloveka je ovsem jeste uzitecnejsi nez pro kompilator, pokud tedy piseme netrivialni funkci ...
Zaver:
Sice mam pocit, ze to konci nejak brzy, ale musim uznat, ze k programovani beznych programu/funkci v assembleru pod linuxem skutecne vic nepotrebujete ... dalsi dil by se nicmene mohl zabyvat treba kernel moduly nebo multithreadingem ...