Re: Formátovaný tisk bylo Re: sprintf - co delam blbe?

Miroslav ©inko sinkomiro na gmail.com
Středa Duben 17 14:52:54 CEST 2024


Nemajuc Arduino, vyskusal som si to v MSVC so std::string, nechal som si 
vygenerovat asm listing. V debug verzii (bez optimalizacii) sa v tom 
celkom da vyznat.

Vo volanej funkcii sa pred returnom vola konstruktor stringu s 
parametrom char*

Nasledne volajuca funkcia pouzije objekt (mam tam printf) a zavola 
destruktor.

Ak to spravne chapem, objekt sa alokuje na heape, neznasilnuje sa zasobnik.

Studovanie release verzie (s optimalizaciami) som vzdal, tam kadejako 
inline pouziva casti funkcii zo std::(basic)string.

miro

On 17.04.2024 14:03, Jan Waclawek wrote:
> Okej, tak to potom vysvetluje aj tie posledne detaily, resp. ten zasobnik
> sa tym padom nemusi preusporiadavat.
> 
> Od cisteho C sa to potom viacmenej lisi len tym, ze sa ta
> alokacia/dealokacia a kopirovanie deje automaticky vdaka
> konstruktoru/destruktoru tej anonymnej premennej (objektu) (internet ma
> poucil, ze v C++ svete sa ta premenna nevola anonymous ale temporary).
> 
> wek
> 
> 
> 
> ----- Original Message ---------------
> 
>> A kdyµ tak do toho koukám, data se alokují dynamicky, tedy na haldě,
>> tomu bych se v bare-metal vyhnul velkým obloukem.
>>
>> Mrazík
>>
>> On 17. 04. 24 12:29, Jan Waclawek wrote:
>>> ...
>>> No ved je k dispozicii kompletna dokuemntacia.. ;-)
>>> https://github.com/arduino/ArduinoCore-API/blob/master/api/String.h
>>> https://github.com/arduino/ArduinoCore-API/blob/master/api/String.cpp
> 


Další informace o konferenci Hw-list