AW: C - lokalis tomb, vagy pointer+malloc

Rancz Lajos csiga at fosch.com
Mon Jan 23 13:24:55 CET 2006


WLC02E, írta:

>Szia,
>
>beagyazott alkalmazas (AVR) kontrollerre, az 1. megoldas egyszerubb, szimpatikus lenne, ilyesmire gondoltal, mint az alabbi pelda?
>
>Fv1 hivja Fv2-t, Fv2-ben kellene szamolnom a tomb elemeit.. Akkor Fv1-ben megcsinalom a lokalis tombot, meghivom Fv2-t es atadom neki a cimet, ugye? 
>
Igen. De! A tömb nagysága fordítási időben dől el. Tehát pl:

void fv2(unsigned char *ptr)
{
    // Számolás
}

void fv1(void)
{
    unsigned char array[128];

    // Itt csinál vmit....
    // Aztán
    fv2(array);
}


>Ezesetben "csak" Fv1 befejezodese utan szabadul fel a stack, jol gondolom?
>  
>
Igen. A másik irány (hogy fv2-ben deklarálom és visszadom) nem működik.

Üdv,
Lajos

>Koszonom!
>Zoli
>
>  
>
>>-----Ursprüngliche Nachricht-----
>>Von: Rancz Lajos csiga at fosch.com  
>>    
>>
>
>  
>
>>Helló!
>>
>>Tehát az a kérdés, hogy mi az alkalmazás. Ha PC-re írt szoftver amit 
>>elindítanak majd leállítanak akkor jó a free-malloc. Ha beágyazott 
>>alkalmazás akkor két eset van:
>>1. stacken definiált tömb
>>2. static tárolási osztályú tömb
>>
>>A 2. esetben elkellhet valamilyen állapotautomata amivel 
>>nyilvántartod, 
>>hogy épp mit csinálsz a tömbben lévő adatokkal.
>>
>>Üdv,
>>Lajos 
>>    
>>
>
>-----------------------------------
> Szponzorunk: http://tonerbolt.hu/
>
>  
>




More information about the Elektro mailing list