<html><head><title>Re: Formatovany tisk pro 8bit</title>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
</head>
<body>
<span style=" font-family:'Courier New'; font-size: 9pt;">V podstatě ano. Nevylučuju drobné nuance dané kompilátorem.<br>
<br>
Tomáš<br>
<br>
<br>
</span><table>
<tr>
<td width=2 bgcolor= #0000ff><br>
</td>
<td><span style=" font-family:'arial'; font-size: 9pt;">Takže pokud bych to chtěl formulovat "assemblerovsky", tak zápis <br>
char buf[i];   // stejně jako char * buf = alloca(i);<br>
ve skutečnosti vygeneruje instrukci zvýšení stackpointeru o obsah i<br>
Je to tak?<br>
<span style=" font-family:'courier new';">Martin Záruba<br>
Dne 23.4.2024 v 12:12 Jan Waclawek napsal(a):<br>
V C++ se [alloca()] prostě nepouľívá, protoľe není potřeba. Není potřeba ani v C99, <br>

můľete prostě napsat <br>

<br>

Hm, variable-length array (VLA). Toto som dodnes ignoroval (najma kvoli<br>

hroze z toho, co je o nich popisane v norme, t.j. vsetky netrivialne<br>

pouzitia vratane [*]).<br>

<br>

Ale v takomto trivialnom pripade (t.j. priama definicia s jednoduchou a<br>

jasnou premennou ako velkost pola) to vyzera takmer uzitocne. Aj ked, na<br>

druhej strane, to alloca() je podla mna ilustrativnejsie.<br>

<br>

Vyskusal som, a avr-gcc prelozilo oboje uplne identicky (podla ocakavania -<br>

ten alloca() je aj tak len makro pre __builtin_alloca(), takze to vedie na<br>

nieco co sa udeje pocas prekladu, nie je to prilinkovana vec).<br>

<br>

wek<br>

<br>

<br>

_______________________________________________<br>

HW-list mailing list  -  sponsored by </span></span><a style=" font-family:'courier new'; font-size: 9pt;" href="http://www.HW.cz">www.HW.cz</a><br>
<span style=" font-family:'courier new'; font-size: 9pt;">
</span><a style=" font-family:'courier new'; font-size: 9pt;" href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a><br>
<span style=" font-family:'courier new'; font-size: 9pt;">
</span><a style=" font-family:'courier new'; font-size: 9pt;" href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
<span style=" font-family:'courier new'; font-size: 9pt;">
</td>
</tr>
</table>
<span style=" font-family:'arial'; font-size: 9pt;">Takže pokud bych to chtěl formulovat "assemblerovsky", tak zápis <br>
char buf[i];   // stejně jako char * buf = alloca(i);<br>
ve skutečnosti vygeneruje instrukci zvýšení stackpointeru o obsah i<br>
Je to tak?<br>
<span style=" font-family:'courier new';">Martin Záruba<br>
Dne 23.4.2024 v 12:12 Jan Waclawek napsal(a):<br>
V C++ se [alloca()] prostě nepouľívá, protoľe není potřeba. Není potřeba ani v C99, 
můľete prostě napsat 
<br>

Hm, variable-length array (VLA). Toto som dodnes ignoroval (najma kvoli
hroze z toho, co je o nich popisane v norme, t.j. vsetky netrivialne
pouzitia vratane [*]).

Ale v takomto trivialnom pripade (t.j. priama definicia s jednoduchou a
jasnou premennou ako velkost pola) to vyzera takmer uzitocne. Aj ked, na
druhej strane, to alloca() je podla mna ilustrativnejsie.

Vyskusal som, a avr-gcc prelozilo oboje uplne identicky (podla ocakavania -
ten alloca() je aj tak len makro pre __builtin_alloca(), takze to vedie na
nieco co sa udeje pocas prekladu, nie je to prilinkovana vec).

wek


_______________________________________________
HW-list mailing list  -  sponsored by </span></span><a style=" font-family:'courier new'; font-size: 9pt;" href="http://www.HW.cz">www.HW.cz</a><span style=" font-family:'courier new'; font-size: 9pt;">
</span><a style=" font-family:'courier new'; font-size: 9pt;" href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a><span style=" font-family:'courier new'; font-size: 9pt;">
</span><a style=" font-family:'courier new'; font-size: 9pt;" href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a><span style=" font-family:'courier new'; font-size: 9pt;">
</body></html>