sprintf

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Čtvrtek Listopad 3 18:11:15 CET 2016


Ja to resim tak, ze si naprogramuju moznost zobrazit uroven max. 
pouziteho zasobniku (pro jednotliva vlakna u MT, treba FreeRTOS to umi 
hlidat), max adresu alokovanou na halde a subjektivne posoudim, kdy je 
to jeste OK. Je fakt, ze radsi nechavam velke rezervy, kdyz se to 
priblizi pod 10 kB tak zacnu optimalizovat.
Dne 03.11.2016 v 18:05 Pavel Hudecek napsal(a):
> Takže pokud to dobře chápu, kdybych si psal vlastního správce paměti, 
> tak jí nesmí jen tak celou přidělovat, musí si ji alokovat přes 
> malloc, ale ne celou, aby zbyl kousek na režiji sprintf, případně 
> jiných funkcí.
>
> PH
>
> -----Původní zpráva----- From: Jiří Nesvačil
> Funkce typu printf potrebuji buffer na formatovaci hodnoty napriklad " 
> cislo je %ld". Uvnitr je to vetsinou implementovano, ze se to %ld 
> propere pres nejaky buffer a universalni funkci na prevod na cislo. 
> Ten buffer je ta zajimavost.
>
>
> Dne 3. 11. 2016 v 17:10 Pavel Hudecek napsal(a):
>> včera jsem se tu dozvěděl o "nebezpečnosti" sprintf. Abych si to 
>> ujasnil, tak doplňující otázky:
>>
>> 1. Ta nebezpečnost spočívá jen v možnosti přetečení výsledku mimo 
>> buffer, pokud byla jeho velikost programátorem podceněna, či 
>> formátovací string nebyl ukončen? Tzn. nejedná se o žádnou speciální 
>> nebezpečnost této fn a je prostě třeba si dávat stejný pozor, jako 
>> při jakékoli jiné práci s poli?
>>
>> 2. Nebo je nebezpečnost o něco větší a hrozí, že se ta fn někdy nějak 
>> zblázní a vyprodukuje nesmyslně více dat? Tzn. řešením je jedině 
>> nahrazení verzí s N?
>>
>> 3. Nebo je nebezpečná nějak jinak a ani N to nezachrání? Pokud ano, 
>> týká se to i printf?
>>
>> 4. Co je za problém s sprintf a thready? Týká se to i printf (kromě 
>> očekávatelného problému, že by se mohl pohádat o výstupní zařízení s 
>> jiným threadem)? 
>
> _______________________________________________
> 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