<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p><font face="Arial">Ještě jeden postřeh: Kompilátoru vůbec nevadí
nesmyslná deklarace velikosti pole jako lokální proměnné. Klidně
můžete napsat</font></p>
<p><font face="Arial">buf[10000];</font></p>
<p><font face="Arial">Čekal jsem, že bude řvát, že dojde k
přetečení, ale je mu to jedno.<br>
</font></p>
<pre class="moz-signature" cols="72">Martin Záruba</pre>
<div class="moz-cite-prefix">Dne 23.4.2024 v 13:17 Jan Waclawek
napsal(a):<br>
</div>
<blockquote type="cite"
cite="mid:PC195202404231317090330dc952e13@wekPC">
<pre class="moz-quote-pre" wrap="">Myslel som to tak, ze to alloca() sa prelozi priamo kompilatorom, nie je to
prilinkovana funkcia.
wek
----- Original Message ---------------
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">Nemůľe se to stát při překladu, kdyľ neví kolik se bude alokovat.
alloca() se implementuje jen jako posunutí SP o určenou vzdálenost.
Tomáą
</pre>
<blockquote type="cite">
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">V C++ se [alloca()] prostě nepouµívá, protoµe není potřeba. Není potřeba ani v C99,
můµete prostě napsat
</pre>
</blockquote>
</blockquote>
<pre class="moz-quote-pre" wrap="">
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">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 [*]).
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">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.
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">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).
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">wek
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
_______________________________________________
HW-list mailing list - sponsored by <a class="moz-txt-link-abbreviated" href="http://www.HW.cz">www.HW.cz</a>
<a class="moz-txt-link-abbreviated" href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a>
<a class="moz-txt-link-freetext" href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
</blockquote>
</body>
</html>