Hlavní navigace

Názor k článku Programujeme v jazyce Assembler v Linuxu: Závěr aneb testujeme od hkmaly - Alokace pameti: Pokud se vam sys_brk nelibi a radeji...

  • Článek je starý, nové názory již nelze přidávat.
  • 29. 7. 2004 18:51

    hkmaly (neregistrovaný)

    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 ...