[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: about "size" from binutils



Hallo Bjoern,

Bjoern Schliessmann <usenet-mail-0306.20.chr0n0ss@spamgourmet.com> wrote:
> Jörg Sommer wrote:
>
>> Kann man im Binary gleich angeben, dass zu Beginn des 
>> Programms ein malloc vom System gemacht wird? 
>
> Nicht in dem Sinn.

Schade :( Das hätte nämlich dann erklärt, wie (Embedded‐)Systeme ohne
malloc funktionieren.

>> Oder was ist der bss?
>
> Im bss-Segment werden uninitialisierte Variablen zusammengefasst.

Warum unterscheidet man die vom Heap? Der Compiler kennt doch die Größe
des bss' (Was heißt das eigentlich?) und könnte Initialisierungscode
generieren, der ein malloc(N) enthält.

> Dynamisch zugeteilter Speicher (malloc/new) ist auf dem "Heap", das
> ist ein davon getrennter Speicherbereich,

Ähm, also malloc ist ja nichts anderes als eine angenehmere Form von brk
(ist das falsch?) und dazu steht in der Manual page, dass es das
data‐Segment vergrößert. Es gibt also keinen Heap in dem Sinne. Wobei, da
ist noch mmap. Das sollte ein vollkommen anderer Speicherbereich sein.

% man brk G -A1 NAME
NAME
       brk, sbrk - change data segment size

Schöne Grüße, Jörg.
-- 
Ein Mensch sieht ein und das ist wichtig,
nichts ist ganz flach und nichts ganz richtig.
                                               (Eugen Roth)


Reply to: