malloc/free

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Čtvrtek Listopad 3 09:45:50 CET 2016


Pokud to chcete pouzit v preruseni, musite zajistit synchronizaci - 
nejjednoduseji preruseni blokovat uvnitr techto funkci, std knihovna na 
to ma vetsinou podporu nebo treba u nano verze musite funkce prekryt pri 
linkovani
Pokud to neni nezbytne, vyhnul bych se pouziti u kritickych aplikaci. 
Nektere knihovny maji svuj propracovany mechanismus pro dyn. alokaci, 
treba LwIP hned v nekolika verzich, kouknete do zdrojaku pro inspiraci.

Dne 03.11.2016 v 8:16 Jiří Nesvačil napsal(a):
> Zdravim,
>
> jeste nekolik otazek ?
>
> 4.  pro MCU a realtime aplikace ? Muze se malloc,calloc pouzit v 
> preruseni ?
> Odpoved zni ne ?
>
> 5. Je vyhodne tedy pouzit heap a proc v realtime mcu ?
> Odpoved zni ano ?
>
> Vysvetleni necham na zamysleni, probuzeni ... .
>
> Jinak
> - pro vetsi cpu existuji veci jako garbadge pro c++, kde se prochazi i 
> pointery v pameti (neprijde mi to idealni)
> - lua a podobne jazyky implementuji objekt, ktery dale odkazuje do 
> alokace napr. pro string. V c++ si to lze predstavit jako pointer na 
> pointer a pote muze dojit k realokaci i na takto malem cpu
> - nekdo implementoval i alokaci pro grafickou stranku/widget v malem 
> cpu a dealokace pote probiha cele stranky vcetne tech malych fragmentu 
> pameti
>
> Jirka
>
> Dne 3. 11. 2016 v 1:28 Pavel Hudecek napsal(a):
>> Dobrý den všem,
>>
>> mějme program v C, běžící v MCU s několika desítkami kB RAM.
>>
>> Program čas od času alokuje nějakou paměť a jindy zas odalokuje. 
>> Předpokládejme, že se alokují kousky od několika B až do několika kB. 
>> Alokace a dealokace se dějí v obecně náhodném pořadí, tedy různé 
>> kousky paměti jsou alokovány na různou dobu.
>>
>> 1. Může se stát, že se paměť postupně fragmentuje tak, že od jistého 
>> okamžiku již nepůjde alokovat nějaké větší kousky, přestože celkové 
>> místo by bohatě stačilo?
>> 2. Pokud se neděje (1), může se stát, že nějaký správce paměti bude v 
>> průběhu času již alokované kusy v případě nutnosti přesouvat, takže 
>> se budou měnit hodnoty pointerů na ně ukazujících?
>> 3. Nebo to funguje úplně jinak? :-)
>>
>> Díky,
>> PH
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list




Další informace o konferenci Hw-list