<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1195440</guid>
        <pubDate>Fri, 28 Jul 2006 11:17:24 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1195440</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1195422'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-28T15:06:44+04:00">28.07.06, 11:06</time></span><div class='quote '>Просто я вынужден самостоятельно заботиться о хранении результата, поэтому имею более полный контроль над процессом выполнения кода, и, как следствие, у меня гораздо больший простор для оптимизации, но гораздо больше ручного труда.</div></div><br>
Ну в С++ с этим тоже не все так плохо. В С++ у тебя есть выбор - использовать временные объекты, или обходится без них. Т. е. никто мне не мешает написать так:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">с4 += с[0];</div><div class="code_line">c4 += c[1];</div><div class="code_line">c4 += c[2];</div><div class="code_line">c4 += c[3];</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
Таким образом я буду гарантирован от создания временных переменных (все передается по ссылке). А могу переложить работу по созданию хранению промежуточных результатов на компилятор и написать так, как было написано (c[0] + c[1] + c[2] + c[3]).]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1195422</guid>
        <pubDate>Fri, 28 Jul 2006 11:06:44 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1195422</link>
        <description><![CDATA[linuxfan: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1195398'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2006-07-28T10:50:22+00:00">28.07.06, 10:50</time></span><div class='quote '>А я - именно операции +, которая возвращает новый результат.</div></div><br>
Посколькольку в C за меня никто не будет заниматься уничтожением временных объектов, такая реализация конкатенации &quot;вполне в духе времени&quot; :)<br>
Ничто не не помешает мне, например, сделать так: <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">vector_conctat(&amp;res1,a,vector_concat(&amp;res2,b,c))</div></ol></div></div></div></div><br>
Просто я вынужден самостоятельно заботиться о хранении результата, поэтому имею более полный контроль над процессом выполнения кода, и, как следствие, у меня гораздо больший простор для оптимизации, но гораздо больше ручного труда.]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1195398</guid>
        <pubDate>Fri, 28 Jul 2006 10:50:22 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1195398</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1195387'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-28T10:42:08+00:00">28.07.06, 10:42</time></span><div class='quote '>В конечном итоге все равно ведь пришлось отказаться от перегрузки оператора &#39;+&#39;, т. к. лишний оверхед, а?</div></div><br>
Не совсем так (ИМХО). Ты решил заменить &quot;серийный&quot; плюс (т. е. когда в одном выражении несколько операторов) на одну функцию, оптимизированную конкретно для этой задачи. Но (при этом) ты не можешь в одном выражении сделать, например, и конкатенацию и (ну предположим) векторное умножение или сложение векторов. Тебе все равно надо будет вводить временные &quot;вектора&quot;, в которых ты будешь хранить промедуточные результаты.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1195387'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-28T10:42:08+00:00">28.07.06, 10:42</time></span><div class='quote '>А как же копирование результата (конечно, легко исправляется добавлением еще одного аргумента в accumulate).</div></div><br>
Дело в том, что ты реализовал аналог оператора +=, который модифицирует левый аргумент. А я - именно операции +, которая возвращает новый результат. В итоге я могу, например, сделать так:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">c4 = accumulate((my_va_list&#60;TestClass1&#62;(0), 1, 2, 3, 4, 6, 7, 8, 9));</div></ol></div></div></div></div><br>
Т. е. сконкатенировать чисто константные значения (экземпляры) класса. А тебе нужен хотя бы один неконстантный. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-28T10:51:47+00:00">28.07.06, 10:51</time></span></span><br>
ЗЫ: А идею с таким переменным списком аргументов нужно будет довести до ума...]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1195387</guid>
        <pubDate>Fri, 28 Jul 2006 10:42:08 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1195387</link>
        <description><![CDATA[linuxfan: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1195359'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2006-07-28T10:29:32+00:00">28.07.06, 10:29</time></span><div class='quote '>Вот что будет, если я (в твоем варианте) забуду в качестве последнего параметра передать NULL?</div></div><br>
Скорее всего, signal 11 ;)<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1195359'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2006-07-28T10:29:32+00:00">28.07.06, 10:29</time></span><div class='quote '>Тут оверхед - это связывание списка, эмулирующего переменное количество аргументов.</div></div><br>
А как же копирование результата (конечно, легко исправляется добавлением еще одного аргумента в accumulate).<br>
<br>
В итоге мы пришли к тому, что я писал свой мини-вектор, а ты писал передачу переменного числа аргументов. Но, честно сказать, у меня велосипед побольше (в смысле объема кода) и пошустрее (потому что memcpy), а у тебя универсальней (потому что и не для POD покатит). В конечном итоге все равно ведь пришлось отказаться от перегрузки оператора &#39;+&#39;, т. к. лишний оверхед, а? ;)]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1195359</guid>
        <pubDate>Fri, 28 Jul 2006 10:29:32 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1195359</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1195271'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-28T09:48:23+00:00">28.07.06, 09:48</time></span><div class='quote '>Раз нам всегда точно известно, что складывать, то почему бы не сделать функцию с переменным числом аргументов? Оверхеда практически 0%. Подходит исключительно для того, что в C++ называют POD-типами. Но вроде как ставилась задача исследования рантаймового оверхеда?</div></div><br>
Хитрец. :) Подожди пару сек. Вот, что получилось у меня (код, в принципе, аналогичен твоему, только гораздо более безопасный):<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">template&#60;typename T&#62; struct va_list_t</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;typedef va_list_t&#60;T&#62; this_type;</div><div class="code_line">&nbsp;&nbsp; &nbsp;va_list_t(const T&amp; v) : m_Val(&amp;v), m_Next(NULL), m_Prev(NULL) {;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;va_list_t(const T&amp; v, this_type&amp; prev) : m_Val(&amp;v)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;prev.m_Next = this;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;m_Prev = &prev;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;m_Next = NULL;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;const T* m_Val;</div><div class="code_line">&nbsp;&nbsp; &nbsp;this_type* m_Next;</div><div class="code_line">&nbsp;&nbsp; &nbsp;this_type* m_Prev;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;friend this_type operator, (this_type&amp; prev, const T&amp; v)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return this_type(v, prev);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">};</div><div class="code_line">&nbsp;</div><div class="code_line">template&#60;typename T&#62; va_list_t&#60;T&#62; my_va_list(const T&amp; v)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;return va_list_t&#60;T&#62;(v);</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">TestClass1 accumulate(const va_list_t&#60;TestClass1&#62;&amp; args)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;size_t count = 0;</div><div class="code_line">&nbsp;&nbsp; &nbsp;const va_list_t&#60;TestClass1&#62;* real_head = NULL;</div><div class="code_line">&nbsp;&nbsp; &nbsp;for (const va_list_t&#60;TestClass1&#62;* head = &args; head != NULL; real_head = head, head = head-&#62;m_Prev)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;count += head-&#62;m_Val-&#62;GetContainer().size();</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;TestClass1 ret_val;</div><div class="code_line">&nbsp;&nbsp; &nbsp;ret_val.GetContainer().reserve(count);</div><div class="code_line">&nbsp;&nbsp; &nbsp;for (const va_list_t&#60;TestClass1&#62;* head = real_head; head != NULL; head = head-&#62;m_Next)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ret_val += *head-&#62;m_Val;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;return ret_val;</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">int main(int argc, char**) </div><div class="code_line">{</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;TestClass1 c[5] = {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;TestClass1(1),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;TestClass1(2),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;TestClass1(3),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;TestClass1(4),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;TestClass1(5)</div><div class="code_line">&nbsp;&nbsp; &nbsp;};</div><div class="code_line">&nbsp;&nbsp; &nbsp;TestClass1 c4;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;c4 = accumulate((my_va_list(c[0]), c[1], c[2], c[3], c[4]));</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;c4.Print();</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return 0;</div><div class="code_line">}</div></ol></div></div></div></div><br>
Тут оверхед - это связывание списка, эмулирующего переменное количество аргументов. Но, ИМХО, оверхед оправдан тем, что в итоге мы точно знаем - где, что и сколько лежит. :) И не накосячим с точки зрения типов. Вот что будет, если я (в твоем варианте) забуду в качестве последнего параметра передать NULL?]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1195271</guid>
        <pubDate>Fri, 28 Jul 2006 09:48:23 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1195271</link>
        <description><![CDATA[linuxfan: Поскольку вектора в стандартной библиотеке C нет, то выглядело бы это примерно так (valid C99):<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#include &#60;stdio.h&#62;</div><div class="code_line">#include &#60;stdlib.h&#62;</div><div class="code_line">#include &#60;stdarg.h&#62;</div><div class="code_line">#include &#60;string.h&#62;</div><div class="code_line">&nbsp;</div><div class="code_line">#define ELEMENT_FMT &quot;%i&quot;</div><div class="code_line">typedef int velement_t;</div><div class="code_line">&nbsp;</div><div class="code_line">struct vector_t {</div><div class="code_line">&nbsp;&nbsp; &nbsp;size_t count;</div><div class="code_line">&nbsp;&nbsp; &nbsp;velement_t *data;</div><div class="code_line">};</div><div class="code_line">&nbsp;</div><div class="code_line">void vector_init(struct vector_t *self)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;self-&#62;count = 0; self-&#62;data = NULL;</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">velement_t* vector_push(struct vector_t *self,velement_t value)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;velement_t *old_data = self-&#62;data;</div><div class="code_line">&nbsp;&nbsp; &nbsp;self-&#62;data = (velement_t*)realloc(self-&#62;data,(self-&#62;count+1)*sizeof(velement_t));</div><div class="code_line">&nbsp;&nbsp; &nbsp;if (self-&#62;data) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;self-&#62;data[self-&#62;count] = value;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;self-&#62;count++;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return self-&#62;data+(self-&#62;count-1);</div><div class="code_line">&nbsp;&nbsp; &nbsp;} else {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;self-&#62;data = old_data;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return NULL;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">struct vector_t* vector_concat(struct vector_t *self,...)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;va_list arg;</div><div class="code_line">&nbsp;&nbsp; &nbsp;int grow = 0;</div><div class="code_line">&nbsp;&nbsp; &nbsp;/* Precalculate number of elements being appended */</div><div class="code_line">&nbsp;&nbsp; &nbsp;va_start(arg,self);</div><div class="code_line">&nbsp;&nbsp; &nbsp;for (struct vector_t* v = va_arg(arg,struct vector_t*); v; v = va_arg(arg,struct vector_t*)) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;grow += v-&#62;count;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;va_end(arg);</div><div class="code_line">&nbsp;&nbsp; &nbsp;/* Append elements */</div><div class="code_line">&nbsp;&nbsp; &nbsp;if (grow &#62; 0) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;velement_t *ptr = self-&#62;data;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;self-&#62;data = (velement_t*)realloc(self-&#62;data,(self-&#62;count+grow)*sizeof(velement_t));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if (!self-&#62;data) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;self-&#62;data = ptr;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return NULL;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ptr = self-&#62;data + self-&#62;count;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;va_start(arg,self);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;for (struct vector_t* v = va_arg(arg,struct vector_t*); v; v = va_arg(arg,struct vector_t*)) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;memcpy(ptr,v-&#62;data,v-&#62;count*sizeof(velement_t));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ptr += v-&#62;count;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;va_end(arg);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;self-&#62;count += grow;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;return self;</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">void vector_print(struct vector_t *self)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;putchar(&#39;{&#39;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;for (int i=0; i&#60;self-&#62;count; i++) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if (i &#60; self-&#62;count-1) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;printf (ELEMENT_FMT &quot;, &quot;,self-&#62;data[i]);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;} else {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;printf (ELEMENT_FMT, self-&#62;data[i]);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;puts(&quot;}&quot;);</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">int main()</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;struct vector_t res,v[5];</div><div class="code_line">&nbsp;&nbsp; &nbsp;vector_init(&amp;res);</div><div class="code_line">&nbsp;&nbsp; &nbsp;for (int i=0; i&#60;5; i++) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;vector_init(&amp;v[i]);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;vector_push(&amp;v[i],i+1);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;vector_concat(&amp;res,v,v+1,v+2,v+3,v+4,NULL);</div><div class="code_line">&nbsp;&nbsp; &nbsp;vector_print(&amp;res);</div><div class="code_line">&nbsp;&nbsp; &nbsp;return 0;</div><div class="code_line">}</div></ol></div></div></div></div><br>
Раз нам всегда точно известно, что складывать, то почему бы не сделать функцию с переменным числом аргументов? Оверхеда практически 0%. Подходит исключительно для того, что в C++ называют POD-типами. Но вроде как ставилась задача исследования рантаймового оверхеда? ;)]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1195107</guid>
        <pubDate>Fri, 28 Jul 2006 08:43:00 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1195107</link>
        <description><![CDATA[Flex Ferrum: <strong class='tag-b'>linuxfan</strong>, вообще, все очень сильно зависит от оптимизатора. И его возможностей. Кстати, мне (как и LuckLess&#39;у) интересно посмотреть - сколько будет оверхеда в аналогичном коде на С. Т. е. сформулируем задачку так. Нам нужно написать операцию конкатенации (даже не сложения) двух векторов. На С++ я набросал такой код:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">class TestClass1</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::vector&#60;int&#62; m_Vec;</div><div class="code_line">public:</div><div class="code_line">&nbsp;&nbsp; &nbsp;TestClass1() {;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;TestClass1(int v)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;m_Vec.push_back(v);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;TestClass1&amp; operator += (const TestClass1&amp; c)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;m_Vec.insert(m_Vec.end(), c.m_Vec.begin(), c.m_Vec.end());</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return *this;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;friend TestClass1 operator + (TestClass1 c1, const TestClass1&amp; c2)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;//std::cout &#60;&#60; &quot;c1 = &quot; &#60;&#60; &amp;c1 &#60;&#60; &quot;, c2 = &quot; &#60;&#60; &amp;c2 &#60;&#60; std::endl;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return c1 += c2;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;void Print()</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;std::copy(m_Vec.begin(), m_Vec.end(), std::ostream_iterator&#60;int&#62;(std::cout, &quot; &quot;));</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">};</div><div class="code_line">int main(int argc, char**) </div><div class="code_line">{</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;TestClass1 c[5] = {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;TestClass1(1),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;TestClass1(2),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;TestClass1(3),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;TestClass1(4),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;TestClass1(5)</div><div class="code_line">&nbsp;&nbsp; &nbsp;};</div><div class="code_line">&nbsp;&nbsp; &nbsp;TestClass1 c4;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;c4 = c[0] + c[1] + c[2] + c[3] + c[4];</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;c4.Print();</div><div class="code_line">&nbsp;&nbsp; &nbsp;return 0;</div><div class="code_line">}</div></ol></div></div></div></div><br>
Как выглядел бы аналогичный код на С?]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194590</guid>
        <pubDate>Thu, 27 Jul 2006 19:57:38 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194590</link>
        <description><![CDATA[linuxfan: Я не знаю ни COM ни WinAPI :) Меня кормит Linux :)]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194559</guid>
        <pubDate>Thu, 27 Jul 2006 19:32:19 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194559</link>
        <description><![CDATA[LuckLess: Ну давай поиграемся с COM :D<br><br>Навай WinAPI + Чистый язык.]]></description>
        <author>LuckLess</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194550</guid>
        <pubDate>Thu, 27 Jul 2006 19:27:04 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194550</link>
        <description><![CDATA[linuxfan: Ну на &quot;чистом&quot; языке проблематично реализовать что-либо отличное от примитивной однопоточной числодробилки, а на таких задачах я не вижу преимущества ни одного из языков.<br>Думаю, что очень сложно придумать такую демо-задачу.]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194503</guid>
        <pubDate>Thu, 27 Jul 2006 19:08:54 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194503</link>
        <description><![CDATA[LuckLess: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1194501'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-27T19:06:45+00:00">27.07.06, 19:06</time></span><div class='quote '>А пример сходу придумать сложно. Ведь в крайнем случае можно в C++ всегда написать точно так же как и в C. </div></div><br>
Чистый С++ как и Чистый С(С99).<br>
на С++ собстно будут использоватся STL и ООП в разумных ессесно пределах.<br>
на С соответственно сруктурное программирование и сишная библиотека.]]></description>
        <author>LuckLess</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194501</guid>
        <pubDate>Thu, 27 Jul 2006 19:06:45 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194501</link>
        <description><![CDATA[linuxfan: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1194481'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>LuckLess &#064; <time class="tag-quote__quoted-time" datetime="2006-07-27T18:53:55+00:00">27.07.06, 18:53</time></span><div class='quote '>в вункцию push-ился доп. параиетр с адремов того мета, куда надо вернуть значение, то былоб значительно оптимальней.</div></div><br>
Именно так.<br>
А пример сходу придумать сложно. Ведь в крайнем случае можно в C++ всегда написать точно так же как и в C. Или мы ограничиваемся <em class='tag-i'>чистым</em> C++? :) Тогда прошу уточнить степень &quot;чистоты&quot; :)<br>
Потому как есть некоторые нестандартизованные стандартом трюки (alloca, например -- в чистом C++ подобных вещей вообще нет), за счет которых &quot;не совсем чистый&quot; C может вырваться вперед.]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194481</guid>
        <pubDate>Thu, 27 Jul 2006 18:53:55 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194481</link>
        <description><![CDATA[LuckLess: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1194475'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-27T18:45:15+00:00">27.07.06, 18:45</time></span><div class='quote '>Ну так это один из провалов идеологии C++. Импиративная парадигма с A&amp; sum(const A&amp;,const A&amp;,A&amp;) тут гораздо оптимальнее.</div></div><br>
никакой это не провал. для больших объектов это легко оптимизируется.<br>
для маленьких незначительно. к примеру.<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">class BigObject</div><div class="code_line">&nbsp;&nbsp; {</div><div class="code_line">&nbsp;&nbsp; private:</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;bool temp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;std::vector&#60;int&#62; BigBuffer;</div><div class="code_line">&nbsp;&nbsp; public:</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;BigObject () : temp(false){}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;BigObject operator+ (const BigObject&amp; obj)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; BigObject tempObj(obj);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; //тут сложение.</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; tempObj.temp = true;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; return tempObj;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; }</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;BigObject&amp; operator= (BigObject&amp; bf)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; if (bf.temp)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;BigBuffer.swap (bf.BigBuffer);//очень быстро выполняется</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; else</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;BigBuffer.assign (bf.BigBuffer.begin(), bf.BigBuffer.end());//копирование данных</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; }</div><div class="code_line">&nbsp;&nbsp; };</div></ol></div></div></div></div><br>
<br>
и вообще. давай уже покажи где оверхед в СРАВНЕНИИ с С&#33;<br>
покажи код(а не надуманный пример) на С который сложно написать на С++ не потеряв в производительности. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-27T18:58:01+00:00">27.07.06, 18:58</time></span></span><br>
вообще такого рода проблема - это не проблема С++ а проблема архитектуры в целом.<br>
если бы возвращаемое значение передавалось не через регистр. а вместо этого в вункцию push-ился доп. параиетр с адремов того мета, куда надо вернуть значение, то былоб значительно оптимальней.]]></description>
        <author>LuckLess</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194475</guid>
        <pubDate>Thu, 27 Jul 2006 18:45:15 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194475</link>
        <description><![CDATA[linuxfan: Ну так это один из провалов идеологии C++. Импиративная парадигма с A&amp; sum(const A&amp;,const A&amp;,A&amp;) тут гораздо оптимальнее.<br>Надо пример объектов, для которых такое поведение operator+ проблема? std::string. Там неспроста с прокси-объектами и подсчетом ссылок заморачивались. Без gc с памятью при таком поведении операторов один геморрой (скажем спасибо boost::shared_ptr :))]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194468</guid>
        <pubDate>Thu, 27 Jul 2006 18:35:14 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194468</link>
        <description><![CDATA[LuckLess: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1194461'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-27T18:30:54+00:00">27.07.06, 18:30</time></span><div class='quote '>либо временный объект, либо сразу lvalue для рядомстоящего присваивания.</div></div><br>
Он и возвращает сразу lvalue для рядом стоящего присваиваня.<br>
и это присваивание это лвалуе использует.<br>
<br>
да, для присвоения и operator+ есть незначительный оверхед.<br>
но кто использует большие обхекты с operator+ в связке?? <br>
ну тут дело рук опять в общем :D]]></description>
        <author>LuckLess</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194461</guid>
        <pubDate>Thu, 27 Jul 2006 18:30:54 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194461</link>
        <description><![CDATA[linuxfan: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1194451'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>LuckLess &#064; <time class="tag-quote__quoted-time" datetime="2006-07-27T18:21:36+00:00">27.07.06, 18:21</time></span><div class='quote '>Я тебе дал пример с копированием. </div></div><br>
Ну пардон, если я некорректно выразился. Я-то имел ввиду именно присваивание при использовании бинарного оператора. Там оверхед в создании временного объекта для хранения результата операции. По уму бы хотелось так:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">....</div><div class="code_line">const A&amp; operator +(const A&amp; arg,A&amp; res) {</div><div class="code_line">&nbsp;&nbsp; /* складываем как-нибудь *this и arg, помещая значение в res */</div><div class="code_line">&nbsp;&nbsp;return res;</div><div class="code_line">}</div></ol></div></div></div></div><br>
Но такая запись добавляет дополнительных хлопот по возможной очистке предварительной результата, но избегает создания временного объекта. пусть бы лучше компилер озабачивался выбором res: либо временный объект, либо сразу lvalue для рядомстоящего присваивания.]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194451</guid>
        <pubDate>Thu, 27 Jul 2006 18:21:36 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194451</link>
        <description><![CDATA[LuckLess: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1194433'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-27T18:07:23+00:00">27.07.06, 18:07</time></span><div class='quote '>Вот тебе и оверхед: Два временных объекта, потому что operator + . </div></div><br>
подругому сделать нельзя никак. оверхеда тут нет, так как оверхед == лишнее действие, а тут лишнего ничего нет.<br>
хочеш подругому - использую функции и ссылки или operator+=. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-27T18:22:30+00:00">27.07.06, 18:22</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1194433'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-27T18:07:23+00:00">27.07.06, 18:07</time></span><div class='quote '>я тебе внушаю, что оверхед именно на копировании при &#39;+&#39; вызывается.</div></div><br>
Я тебе дал пример с копированием. <br>
ты дал пример не с копированиема с присвоение.]]></description>
        <author>LuckLess</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194433</guid>
        <pubDate>Thu, 27 Jul 2006 18:07:23 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194433</link>
        <description><![CDATA[linuxfan: <strong class='tag-b'>LuckLess</strong>, видимо ты меня не понимаешь: я тебе внушаю, что оверхед именно на копировании при &#39;+&#39; вызывается.<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#include &#60;iostream&#62;</div><div class="code_line">&nbsp;</div><div class="code_line">class A</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;public:</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;static bool silent;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;A() {if (!silent) std::cout &#60;&#60; &quot;def\n&quot;;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;A(const A&amp;) {if (!silent) std::cout &#60;&#60; &quot;copy\n&quot;;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;const A operator+ (const A &amp;arg)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;A res;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (!silent) std::cout &#60;&#60; &quot;operator +\n&quot;;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return res;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;A&amp; operator= (const A&amp;) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (!silent) std::cout &#60;&#60; &quot;operator = \n&quot;;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return *this;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">};</div><div class="code_line">&nbsp;</div><div class="code_line">bool A::silent = true;</div><div class="code_line">&nbsp;</div><div class="code_line">int main()</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;A a1,a2;</div><div class="code_line">&nbsp;&nbsp; &nbsp;A a3;</div><div class="code_line">&nbsp;&nbsp; &nbsp;A::silent = false;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::cout &#60;&#60; &quot;First pass\n&quot;;</div><div class="code_line">&nbsp;&nbsp; &nbsp;a3 = a1 + a2;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::cout &#60;&#60; &quot;Second pass\n&quot;;</div><div class="code_line">&nbsp;&nbsp; &nbsp;a3 = a1 + a2;</div><div class="code_line">&nbsp;&nbsp; &nbsp;return 0;</div><div class="code_line">}</div></ol></div></div></div></div><br>
Вот результат от gcc:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">First pass</div><div class="code_line">def</div><div class="code_line">operator +</div><div class="code_line">operator =</div><div class="code_line">Second pass</div><div class="code_line">def</div><div class="code_line">operator +</div><div class="code_line">operator =</div></ol></div></div></div></div><br>
Вот тебе и оверхед: Два временных объекта, потому что operator + . Или ты думаешь, что написал изотерическое сложение гипотетического хрена с несуществующей редькой и доказал высокую эффективность C++?<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1194378'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>LuckLess &#064; <time class="tag-quote__quoted-time" datetime="2006-07-27T17:30:05+00:00">27.07.06, 17:30</time></span><div class='quote '>И более чем уверен что такое извращение в серъезных проектах не используют.</div></div><br>
Конечно нет. Но ведь можно же. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-27T18:08:07+00:00">27.07.06, 18:08</time></span></span><br>
В серьезных проектах макросы иногда используют, чтобы избежать копипаста.]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194378</guid>
        <pubDate>Thu, 27 Jul 2006 17:30:05 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194378</link>
        <description><![CDATA[LuckLess: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1194373'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>BugHunter &#064; <time class="tag-quote__quoted-time" datetime="2006-07-27T17:29:01+00:00">27.07.06, 17:29</time></span><div class='quote '>обычно присваивание отличается от конструктора копирования только тем, что возвращает const A &amp;. </div></div><br>
у присвоения A&amp; возвращается...<br>
   int a,b,c;<br>
   (a = b) = c; <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-27T17:31:48+00:00">27.07.06, 17:31</time></span></span><br>
<strong class='tag-b'>linuxfan</strong><br>
На вот тебе такой код.. а то подумаеш еще что там operator= вызовется..<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">class A</div><div class="code_line">&nbsp;&nbsp; {</div><div class="code_line">&nbsp;&nbsp; public:</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;A() {std::cout &#60;&#60; &quot;def\n&quot;;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;A(const A&amp;) {std::cout &#60;&#60; &quot;copy\n&quot;;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;A operator+ (const A&amp;) </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; return A();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; }</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;A&amp; operator= (const A&amp;)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; std::cout &#60;&#60; &quot;=\n&quot;;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; return *this;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; }</div><div class="code_line">&nbsp;&nbsp; };</div><div class="code_line">&nbsp;</div><div class="code_line">int main()</div><div class="code_line">&nbsp;&nbsp; {</div><div class="code_line">&nbsp;&nbsp; A a1,a2;</div><div class="code_line">&nbsp;&nbsp; A a3 = a1 + a2;</div><div class="code_line">&nbsp;&nbsp; }</div></ol></div></div></div></div> <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-27T17:33:11+00:00">27.07.06, 17:33</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1194351'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-27T17:10:21+00:00">27.07.06, 17:10</time></span><div class='quote '>Лень :P Или ты не веришь, что можно написать qsort макросом?</div></div><br>
Верю. Но я бы не хотел пользоваться программой(тем более ОС) в которой сортировка делается при помощи макроса.<br>
И более чем уверен что такое извращение в серъезных проектах не используют.]]></description>
        <author>LuckLess</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194373</guid>
        <pubDate>Thu, 27 Jul 2006 17:29:01 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194373</link>
        <description><![CDATA[BugHunter: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '> Там же не присваивание, а конструктор копирования</div></div><br>
:)<br>
обычно присваивание отличается от конструктора копирования только тем, что возвращает const A &amp;. <br>
И то это делать необязательно, а лишь для ситуаций, когда нам хочется писать a = b = c; <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-27T17:29:46+00:00">27.07.06, 17:29</time></span></span><br>
(тфу ты блин, Неудачник опередил)]]></description>
        <author>BugHunter</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194371</guid>
        <pubDate>Thu, 27 Jul 2006 17:26:51 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194371</link>
        <description><![CDATA[LuckLess: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1194351'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-27T17:10:21+00:00">27.07.06, 17:10</time></span><div class='quote '>Разводишь меня чтоли? Там же не присваивание, а конструктор копирования. Такое можно (и нужно) оптимизировать. Ты мне соптимизируй a = b + c.</div></div><br>
Не развожу. Что тебе запустить уже лдень да?? Так вот.. если лень, то скажу так.. конструктор копирования не выполняеться.. 3 раза выполняется конструктор по умолчанию и ВСЕ&#33;]]></description>
        <author>LuckLess</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194370</guid>
        <pubDate>Thu, 27 Jul 2006 17:26:26 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194370</link>
        <description><![CDATA[BugHunter: Ну, если ты враг народа, то давай писать макросами :yes:]]></description>
        <author>BugHunter</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194351</guid>
        <pubDate>Thu, 27 Jul 2006 17:10:21 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194351</link>
        <description><![CDATA[linuxfan: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1194333'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>LuckLess &#064; <time class="tag-quote__quoted-time" datetime="2006-07-27T16:53:56+00:00">27.07.06, 16:53</time></span><div class='quote '>Ооочень интересно. ты про оптимизацию возвращаемого значения слышал? Нет? Ну тогда ясно..</div></div><br>
Разводишь меня чтоли? Там же не присваивание, а конструктор копирования. Такое можно (и нужно) оптимизировать. Ты мне соптимизируй a = b + c.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1194333'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>LuckLess &#064; <time class="tag-quote__quoted-time" datetime="2006-07-27T16:53:56+00:00">27.07.06, 16:53</time></span><div class='quote '>Ну изобрази.. сравним кто шустрее.</div></div><br>
Лень :P Или ты не веришь, что можно написать qsort макросом?]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194333</guid>
        <pubDate>Thu, 27 Jul 2006 16:53:56 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1194333</link>
        <description><![CDATA[LuckLess: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192297'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T10:38:41+00:00">26.07.06, 10:38</time></span><div class='quote '><br>
Пример? Пожалуйста: бинарные операторы (+,-,*,/,&amp;,| и т.д.) должны вернуть значение, после чего при присваивании произойдет копирование этого значения в результат. Т. е. запись</div></div><br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">MyClass a,b,c;</div><div class="code_line">/*инициализируем b и c */</div><div class="code_line">a = b+c;</div></ol></div></div></div></div><br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><br>
приведет к созданию промежуточного временного объекта и это уже головная боль программиста, чтобы обеспечить минимальный оверхед при создании/удалении объекта.</div></div><br>
Да ну временное значение?? Копирование?<br>
Ооочень интересно. ты про оптимизацию возвращаемого значения слышал? Нет? Ну тогда ясно..<br>
эту оптимизацию даже в режиме дебаг не выклчиш(в студии 8-й)<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">class A</div><div class="code_line">&nbsp;&nbsp; {</div><div class="code_line">&nbsp;&nbsp; public:</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;A() {std::cout &#60;&#60; &quot;def\n&quot;;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;A(const A&amp;) {std::cout &#60;&#60; &quot;copy\n&quot;;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;A operator+ (const A&amp;) </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; return A();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; }</div><div class="code_line">&nbsp;&nbsp; };</div><div class="code_line">&nbsp;</div><div class="code_line">int main()</div><div class="code_line">&nbsp;&nbsp; {</div><div class="code_line">&nbsp;&nbsp; A a1,a2;</div><div class="code_line">&nbsp;&nbsp; A a3 = a1 + a2;</div><div class="code_line">&nbsp;&nbsp; }</div></ol></div></div></div></div><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192297'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T10:38:41+00:00">26.07.06, 10:38</time></span><div class='quote '>Какие языки кроме C/C++ ты знаешь, чтобы выдвигать столь смелое утверждение? </div></div><br>
А зачем мне еще что знать для сравнения С и С++ ??<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192297'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T10:38:41+00:00">26.07.06, 10:38</time></span><div class='quote '>Можно. qsort пишется макросом в заголовке, в качестве аргумента передается inline-функция для сравнения. </div></div><br>
Ну изобрази.. сравним кто шустрее.]]></description>
        <author>LuckLess</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1193361</guid>
        <pubDate>Thu, 27 Jul 2006 07:42:13 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1193361</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1193028'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>BugHunter &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T21:41:56+00:00">26.07.06, 21:41</time></span><div class='quote '>Flex, не занимайся фигнёй, Шад практик, но не теоретик, его всякими э.. софизмами не купишь :).</div></div><br>
Ну а раз практик (а не теоретик), то зачем к стандартам пытается аппелировать? <br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1193028'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>BugHunter &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T21:41:56+00:00">26.07.06, 21:41</time></span><div class='quote '>Займёмся лучше делом. За компиляторы, господа. </div></div><br>
Что-то сишная сторона притихла... :) Наверное, задачи придумывают.... :)]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1193028</guid>
        <pubDate>Wed, 26 Jul 2006 21:41:56 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1193028</link>
        <description><![CDATA[BugHunter: Flex, не занимайся фигнёй, Шад практик, но не теоретик, его всякими э.. софизмами не купишь :).<br>
Займёмся лучше делом. За компиляторы, господа. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-26T21:42:26+00:00">26.07.06, 21:42</time></span></span><br>
&#33;&#33;&#33;]]></description>
        <author>BugHunter</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192414</guid>
        <pubDate>Wed, 26 Jul 2006 11:59:29 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192414</link>
        <description><![CDATA[trainer: Кстати, а почему это IEEE подкомитет ISO? Это вроде две разные организации.<br>
http://www.ieee.org &nbsp;&nbsp;&nbsp; <a class='tag-url' href='http://www.ieee.org/portal/web/aboutus/home/index.html' target='_blank'>About the IEEE</a> &nbsp;&nbsp;&nbsp; <a class='tag-url' href='http://www.ieee.org/web/aboutus/history/index.html' target='_blank'>IEEE history</a><br>
http://www.iso.org &nbsp;&nbsp;&nbsp; <a class='tag-url' href='http://www.iso.org/iso/en/stdsdevelopment/tc/tclist/TechnicalCommitteeList.TechnicalCommitteeList' target='_blank'>Технические комитеты ISO</a><br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-26T12:04:13+00:00">26.07.06, 12:04</time></span></span><br>
Подкомитеты ISO, занимающиеся информационными технологиями называются ISO JTC1/SC<em class='tag-i'>xx</em>]]></description>
        <author>trainer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192405</guid>
        <pubDate>Wed, 26 Jul 2006 11:50:01 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192405</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192394'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T11:43:56+00:00">26.07.06, 11:43</time></span><div class='quote '>А другого ты не видел? К примеру, того, что POSIX есть tm ISO? </div></div><br>
Звизеж.<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>POSIX ® is a registered Trademark of The IEEE.</div></div><br>
Взято из футера к POSIX. Ты сам говорил, что IEEE - это подкоммитет ISO. Т. е. подчиненная ISO организация. Но не само ISO.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192394'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T11:43:56+00:00">26.07.06, 11:43</time></span><div class='quote '>Кроме того, я задолбался уже объяснять то, что POSIX 1003.1, предоставляет функции С и ни чего более.</div></div><br>
&quot;Предоставляет функции С&quot; - абсолютно ничего не значащая фраза. Что значит &quot;предоставляет&quot;? Кому предоставляет?<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192394'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T11:43:56+00:00">26.07.06, 11:43</time></span><div class='quote '>Таким образом, твоё изначальное высказывание относительно того, что мы разделяем POSIX &amp; C -- бред. Мне это важнее, т.к. с этого всё и началось. Что, собственно, и дало повод сомневаться в твоей компетенции, т.к. как можно разделить эти две веши -- мне не понятно. </div></div><br>
Разделить легко - на уровне стандартов. IEEE 1003.1.x и ISO 9899:1999 - это разные стандарты, у них разные области применения, разное назначение, разные цели. Все. Точка. Как человек с твоим уровнем знаний может их &quot;не разделять&quot; - мне не понятно.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192394'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T11:43:56+00:00">26.07.06, 11:43</time></span><div class='quote '>Если ты рассказываешь про стандарт ISO, то извини, оно либо ссылается на POSIX 1003.1 (как ты искал, если нашёл (по твоим же словам выше)) -- всего одну ссылку и ту в библиографии -- мне не ясно.</div></div><br>
Соответствущие ссылки в студию. В противном случае - звиздеж.]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192394</guid>
        <pubDate>Wed, 26 Jul 2006 11:43:56 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192394</link>
        <description><![CDATA[the_Shadow: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192372'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T11:29:26+00:00">26.07.06, 11:29</time></span><div class='quote '>Если проблема в том, что я неправильно интерпретировал эти твои слова - то выражайся яснее. :)</div></div><br>
А другого ты не видел? К примеру, того, что POSIX есть tm ISO? <br>
<br>
Извини, я, кроме того, что в форуме общаюсь, ещё и работаю. Кроме того, я задолбался уже объяснять то, что POSIX 1003.1, предоставляет функции С и ни чего более. Причём, объявлен, знаешь ли, как единственный базовый интерфейс для POSIX-совместимых систем. <br>
<br>
Таким образом, твоё изначальное высказывание относительно того, что мы разделяем POSIX &amp; C -- бред. Мне это важнее, т.к. с этого всё и началось. Что, собственно, и дало повод сомневаться в твоей компетенции, т.к. как можно разделить эти две веши -- мне не понятно. Если ты рассказываешь про стандарт ISO, то извини, оно либо ссылается на POSIX 1003.1 (как ты искал, если нашёл (по твоим же словам выше)) -- всего одну ссылку и ту в библиографии -- мне не ясно. Впрочем, и не интересно.]]></description>
        <author>the_Shadow</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192372</guid>
        <pubDate>Wed, 26 Jul 2006 11:29:26 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192372</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192357'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T11:19:00+00:00">26.07.06, 11:19</time></span><div class='quote '>ГДЕ ИМЕННО Я СКАЗАЛ, ЧТО POSIX ОПРЕДЕЛЯЕТ ЯЗЫК С? </div></div><br>
Пожалуйста. У нас все ходы записаны:<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1185949'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-20T23:05:37+00:00">20.07.06, 23:05</time></span><div class='quote '>Есть стандарт. <strong class='tag-b'>Он явно описывает нечто. С, если быть точным</strong>. И там нет описания того, что я могу, а чего не могу.</div></div><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1185915'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-20T21:34:29+00:00">20.07.06, 21:34</time></span><div class='quote '>Всё здорово. <strong class='tag-b'>Но сам по себе С основан на POSIX 1.x</strong> (&quot;x&quot; -- по причине того, что комитет меняет &quot;номер версии&quot;).</div></div><br>
(после прочтения этой цитаты я долго выползал из под стула)<br>
Так что ты там говоришь по поводу попытки приписать оппоненту то, чего он не говорил? <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-26T11:30:28+00:00">26.07.06, 11:30</time></span></span><br>
Если проблема в том, что я неправильно интерпретировал эти твои слова - то выражайся яснее. :)]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192361</guid>
        <pubDate>Wed, 26 Jul 2006 11:22:15 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192361</link>
        <description><![CDATA[the_Shadow: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192359'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T11:19:33+00:00">26.07.06, 11:19</time></span><div class='quote '>А что не понравилось-то?</div></div><br>
Тяжёлое оно. Для цинды. Как-никак -- переопредление поведения объетов на экране... Нет. Лучше уж нативные вещи.]]></description>
        <author>the_Shadow</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192359</guid>
        <pubDate>Wed, 26 Jul 2006 11:19:33 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192359</link>
        <description><![CDATA[linuxfan: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192338'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T11:06:06+00:00">26.07.06, 11:06</time></span><div class='quote '>И, замечу, добавленный в общее дерево кода довольно недавно</div></div><br>
Юзал его года полтора назад :D<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192338'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T11:06:06+00:00">26.07.06, 11:06</time></span><div class='quote '>Лучше бы. Этого. Не делали.</div></div><br>
:no: Категорически не согласен. Очень полезная штука, когда надо кроссплатформенное приложение замутить. На меня тогда сильное впечатление произвело, что один и тот же код компилился и работал и в винде и в линуксе, при том что там юзался OpenGL и подгружаемые плагины.<br>
С тех пор я укрепился во мнении, что GTK рулит :)<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192338'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T11:06:06+00:00">26.07.06, 11:06</time></span><div class='quote '>Есть некоторый опыт в использовании.</div></div><br>
А что не понравилось-то?]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192357</guid>
        <pubDate>Wed, 26 Jul 2006 11:19:00 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192357</link>
        <description><![CDATA[the_Shadow: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192331'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T11:02:21+00:00">26.07.06, 11:02</time></span><div class='quote '><br>
Так там и С не описан. А если описан - то прошу привести раздел стандарта POSIX, в котором он описан. Без этого вся твоя аргументация - чистой воды звиздежь.</div></div><br>
Итак, читай по буквам -- ГДЕ ИМЕННО Я СКАЗАЛ, ЧТО POSIX ОПРЕДЕЛЯЕТ ЯЗЫК С? <br>
Я, в части спора по поводу POSIX &amp; C явно оговорил, что данный вопрос мною не рассматривается, как не рассматривается и то, откуда вообще С взялся. <br>
<br>
<em class='tag-i'>Я СКАЗАЛ И ГОВОРЮ, ЧТО POSIX 1003.1 ОПРЕДЕЛЯЕТ ФУНКЦИИ ДЛЯ БАЗОВОГО ИНТЕРФЕЙСА POSIX-СИСТЕМ. И ОПИСАНИЕ ДАНО НЕ &quot;НА ЧЁМ УГОДНО&quot;, А НА С.</em> По этой причине, аппеляции к стандарту ISO -- бред и попытка увести спор в сторону. <br>
<br>
Равно, замечу, как и попытка приписать оппоненту то, что он не говорил, не делает чести Модератору.]]></description>
        <author>the_Shadow</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192355</guid>
        <pubDate>Wed, 26 Jul 2006 11:17:56 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192355</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192338'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T11:06:06+00:00">26.07.06, 11:06</time></span><div class='quote '>Flex, изначальное замечание, с чего всё началось, процитировать? </div></div><br>
Процитируй.]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192338</guid>
        <pubDate>Wed, 26 Jul 2006 11:06:06 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192338</link>
        <description><![CDATA[the_Shadow: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192330'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T11:02:16+00:00">26.07.06, 11:02</time></span><div class='quote '>GThread в glib</div></div><br>
Довольно, замечу, редкоиспользуемый. <br>
<br>
<strong class='tag-b'>Flex</strong>, изначальное замечание, с чего всё началось, процитировать? <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-26T11:07:32+00:00">26.07.06, 11:07</time></span></span><br>
2 <strong class='tag-b'>linuxfan.</strong><br>
И, замечу, добавленный в общее дерево кода довольно недавно. Когда GTK+ стали портировать на ту же цинду. Лучше бы. Этого. Не делали. Есть некоторый опыт в использовании.]]></description>
        <author>the_Shadow</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192331</guid>
        <pubDate>Wed, 26 Jul 2006 11:02:21 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192331</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192298'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T10:39:00+00:00">26.07.06, 10:39</time></span><div class='quote '>Извини, уже приводились. Не произвели на тебя ни какого впечатления, т.к. ты постоянно аппелируешь к ISO, описывающему язык С, но &quot;забиваешь&quot; на то, что тебе приводилось выше. К примеру, сообщение # 283. </div></div><br>
Уф. Ты этой простыней пытался сказать, что, де, POSIX описывает язык С. Потому что все перечисленные в нем методы описаны на С. Я же тебе в ответ задал достаточно простой вопрос - какой раздел/пункт стандарта POSIX описывает синтаксис языка С. Ответа на этот вопрос я не получил. Кроме того, тебе было сказано, что WinAPI тоже описано на С. Но это не значит, что WinAPI описывает язык С. <br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192298'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T10:39:00+00:00">26.07.06, 10:39</time></span><div class='quote '>Какого вообще хрена аппелировать к тому, что там не описано? </div></div><br>
Так там и С не описан. А если описан - то прошу привести раздел стандарта POSIX, в котором он описан. Без этого вся твоя аргументация - чистой воды звиздежь.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192298'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T10:39:00+00:00">26.07.06, 10:39</time></span><div class='quote '>Функции какого языка там перечислены?</div></div><br>
Попытайся задаться вопросом - <em class='tag-i'>почему</em> они там перечислены.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192298'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T10:39:00+00:00">26.07.06, 10:39</time></span><div class='quote '>Если это не функции языка С, определяющие системный API для POSIX-совмеситмых ОС</div></div><br>
Это не функции языка С. Это описание системного API для POSIX-совместимых ОС, в терминах языка С. <br>
А если ты настаиваешь на том, что это именно функции языка С (в том числе и те, которые в стандарте ISO C не упомянуты - оговорка для того, чтобы дать понять, что я прекрасно осознаю тот факт, что часть раздела System Interface пришла в POSIX из стандарта ISO C), то покажи мне место в стандарте POSIX, в котором написано, что эти функции должны быть реализованны именно на языке С. Со своей стороны приведу цитату из стандарта, где об этом ни слова не сказано:<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Use and Implementation of Functions<br>
Each of the following statements shall apply unless explicitly stated otherwise in the detailed descriptions that follow:<br>
<br>
If an argument to a function has an invalid value (such as a value outside the domain of the function, or a pointer outside the address space of the program, or a null pointer), the behavior is undefined.<br>
<br>
Any function declared in a header may also be implemented as a macro defined in the header, so a function should not be declared explicitly if its header is included. Any macro definition of a function can be suppressed locally by enclosing the name of the function in parentheses, because the name is then not followed by the left parenthesis that indicates expansion of a macro function name. For the same syntactic reason, it is permitted to take the address of a function even if it is also defined as a macro. The use of the C-language #undef construct to remove any such macro definition shall also ensure that an actual function is referred to.<br>
<br>
Any invocation of a function that is implemented as a macro shall expand to code that evaluates each of its arguments exactly once, fully protected by parentheses where necessary, so it is generally safe to use arbitrary expressions as arguments. Likewise, those function-like macros described in the following sections may be invoked in an expression anywhere a function with a compatible return type could be called.<br>
<br>
Provided that a function can be declared without reference to any type defined in a header, it is also permissible to declare the function explicitly and use it without including its associated header.<br>
<br>
If a function that accepts a variable number of arguments is not declared (explicitly or by including its associated header), the behavior is undefined.<br>
<br>
</div></div><br>
Раздел System Interfaces: General Information/Use and Implementation of Functions.<br>
Что (в том числе) говорит о том, что любая функция из System Interface может быть представлена в коде на С (если разработка ведется с применением языка С) простым макросом.]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192330</guid>
        <pubDate>Wed, 26 Jul 2006 11:02:16 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192330</link>
        <description><![CDATA[linuxfan: Поскольку оба этих тулкита претендуют на кроссплатформенность, то свой wrapper для тредов есть и там и там. QThread в Qt и GThread в glib. Иначе что бы это были за кроссплатформенные тулкиты, если бы при их использовании код вырождался в кучу ifdef&#39;ов?<br>Кстати, в этом же glib&#39;е есть gmodule -- wrapper для работы с динамическами библиотеками (сильно меня выручил в свое время). Интересно, а в Qt такое есть?]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192298</guid>
        <pubDate>Wed, 26 Jul 2006 10:39:00 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192298</link>
        <description><![CDATA[the_Shadow: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192263'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T10:10:57+00:00">26.07.06, 10:10</time></span><div class='quote '>Сейчас для меня (в дискуссии с тобой) имеет значение только стандарты. И ничего кроме стандартов.<br>
</div></div><br>
Извини, уже приводились. Не произвели на тебя ни какого впечатления, т.к. ты постоянно аппелируешь к ISO, описывающему язык С, но &quot;забиваешь&quot; на то, что тебе приводилось выше. К примеру, сообщение # 283. <br>
Дана ссылка на документ и приведено содержимое страницы. Где там хоть что-то, отличное от С? <br>
<br>
Какого вообще хрена аппелировать к тому, что там не описано? Где там Ada, Java, C++, asm? Функции какого языка там перечислены? И, в данном контексте, при чём здесь &quot;можно описать на всём, на чём угодно?&quot;, если оно<em class='tag-i'> уже описано</em>? И, если оно не описано, что же всё-таки, описывает POSIX 1003.1 System Interfaces и каким именно образом? Если это не функции языка С, определяющие системный API для POSIX-совмеситмых ОС, то... В принципе, вопросы уже сейчас риторические. <br>
<br>
Ой, чесслово --  думай и делай и говори что угодно. Твой &quot;профессионализьм&quot; меня слабо волнует... <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-26T10:40:44+00:00">26.07.06, 10:40</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192297'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T10:38:41+00:00">26.07.06, 10:38</time></span><div class='quote '>Если ты думаешь, что плагины можно реализовывать исключительно на C++, то посмотри на:</div></div><br>
Видимо, <strong class='tag-b'>linuxfan</strong>, он не знает о существовании семейства dl-функций... :D:D:D <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-26T10:51:26+00:00">26.07.06, 10:51</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192297'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T10:38:41+00:00">26.07.06, 10:38</time></span><div class='quote '>Плохое утверждение.</div></div><br>
После работы с GTK+/GNOME (писанными на С по большей части) -- никудышное, уж извини, <strong class='tag-b'>LuckLess</strong>, но вообще никудышное. Довольно сложные проекты описаны прямо и руками. С минимумом бреда. <br>
<br>
Как пример -- проект на С++ (Qt) имеет класс QThread. А зачем оно там? posix_threads уже перестали работать? А вот в GTK+/GNOME попыток &quot;описать всё&quot; просто нет. Есть набор либ. Каждая описывает какой-то аспект (gnet -- позволяет работать с сетью, есть либы по работе с БД, и т.д. и т.п.), но именно и чисто &quot;системный уровень&quot; остаётся за самой системой. Как, в принципе, и должно быть.]]></description>
        <author>the_Shadow</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192297</guid>
        <pubDate>Wed, 26 Jul 2006 10:38:41 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192297</link>
        <description><![CDATA[linuxfan: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192191'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T09:37:51+00:00">26.07.06, 09:37</time></span><div class='quote '>Производительность изменится, но не существенно. </div></div><br>
Мне кажется, что она упадет на уровень сишного qsort&#39;а. Алгоритм-то один и тот же, а плюсы выигрывают как раз за счет inline-подстановки.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192191'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T09:37:51+00:00">26.07.06, 09:37</time></span><div class='quote '>Знаю, что реализовывали lisp-подобные конструкции.</div></div><br>
Насколько подобные? Не верю я в гибкость C++. Плюсовым темплейтам до Lisp&#39;овского DEFMACRO как до луны пешком :D<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192191'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T09:37:51+00:00">26.07.06, 09:37</time></span><div class='quote '>Только ошибки другого характера и другого уровня (т. е. несколько более высокоуровневые).</div></div><br>
Ну да. Ошибки вида &quot;этот **** компилер всунул вызов деструктора куда не следует&quot; :D (утрирую)<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192191'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T09:37:51+00:00">26.07.06, 09:37</time></span><div class='quote '>Нужно хорошо представлять - как работает та или иная языковая конструкция.</div></div><br>
Как только мы сосредотачиваемся на инструменте, а не на задаче, значит настала пора подобрать другой инструмент.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192191'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T09:37:51+00:00">26.07.06, 09:37</time></span><div class='quote '>И при желании можно количество такого оверхеда свести к минимуму (если не сказать - &quot;на нет&quot;).</div></div><br>
Можно, только к чему мы придем в итоге? &quot;Вкусности&quot; C++ как раз могут принести оверхед туда, где он не нужен.<br>
Пример? Пожалуйста: бинарные операторы (+,-,*,/,&amp;,| и т.д.) должны вернуть значение, после чего при присваивании произойдет копирование этого значения в результат. Т. е. запись<br>
[code=cpp]MyClass a,b,c;<br>
/*инициализируем b и c */<br>
a = b+c;[code]<br>
приведет к созданию промежуточного временного объекта и это уже головная боль программиста, чтобы обеспечить минимальный оверхед при создании/удалении объекта. В std::string это решили &quot;шареньем&quot; (sharing) строкового значения. Но такой подход:<br>
1. может быть сложен в реализации<br>
2. ведет к необходимости написания дополнительного избыточного кода, а дополнительный код -- дополнительное поле для граблей<br>
По уму тогда уж нужен operator +(const MyClass &amp;a,const MyClass &amp;b,MyClass &amp;res), где задача по подбору res (временный объект или сразу lvalue) возьмет на себя компилятор.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192195'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>LuckLess &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T09:40:10+00:00">26.07.06, 09:40</time></span><div class='quote '>Другое дело что на С это сделать в принципе нельзя.</div></div><br>
Можно. qsort пишется макросом в заголовке, в качестве аргумента передается inline-функция для сравнения. Но безусловно, плюсовое решение с template будет намного понятнее.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192195'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>LuckLess &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T09:40:10+00:00">26.07.06, 09:40</time></span><div class='quote '>Имелось ввиду что С++ предраспологает к написанию более расширяемых программ.</div></div><br>
Плохое утверждение. Т. к. плюсовое ABI не стандартизовано даже в рамках одной ОС, с плюсовыми shared object в Linux работать практически невозможно. Помню, как я пытался собрать ClanLib интеловским компилем. Ни одно приложение, собранное gcc, не смогло слинковаться с этой либой :D<br>
Если ты думаешь, что плагины можно реализовывать исключительно на C++, то посмотри на:<br>
1) gimp<br>
2) gdk-pixbuf (подключаемые лоадеры)<br>
3) devcot/cyrus (imap сервера; и тот и другой легко расширяются, но в &quot;запланированных авторами пределах&quot;)<br>
4) bonobo -- аналог COM, но на C (часть GNOME)<br>
5) uw-imapd (там дизайн позволяет писать свои storage)<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192195'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>LuckLess &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T09:40:10+00:00">26.07.06, 09:40</time></span><div class='quote '>Проэкт обычно описан языком более подходящем для того чтобы реализовывать его на С++ нежели чем на С.</div></div><br>
Какие языки кроме C/C++ ты знаешь, чтобы выдвигать столь смелое утверждение? Используемый инструмент сильно влияет на образ мышления. Возможно, тебе весь мир видится в темплейтах и классах, а на самом деле проект может быть реализован питоне красиво, эффективно и слету?<br>
Или ты подразумеваешь именно что &quot;легче на C++, чем на C&quot;? Это утверждение скорее правдиво, т. к. легче использовать std::string, std::vector и пр, чем писать свой велосипед (glib не предлагать, ибо эффективность сильно снижается).]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192263</guid>
        <pubDate>Wed, 26 Jul 2006 10:10:57 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192263</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192225'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T09:51:59+00:00">26.07.06, 09:51</time></span><div class='quote '>Это ж до какой степени нужно хотеть доказать свою правоту, не имея к тому ни единого шанса, с тем, чтобы отрицать очевидное&#33; </div></div><br>
Шадыч, хочу заметить, что ты (имея все шансы на это) не смог привести ни одной цитаты из стандарта POSIX, подтверждающие твою точку зрения (оглавление и описание fflush таковыми также не являются в силу описанных выше обстоятельств). И я не берусь обсуждать что есть и чего нет в Symbian, потому что не имею об этой системе (и о требованиях к ней) никакого представления. По этому с документацией по этой системе - не ко мне, а к людям, которые хорошо осведомлены об этой системе. Сейчас для меня (в дискуссии с тобой) имеет значение только стандарты. И ничего кроме стандартов. <br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192225'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T09:51:59+00:00">26.07.06, 09:51</time></span><div class='quote '>Flex, смешно. И немного грустно. А вас, так называемых &quot;профессиональных&quot; программистов от души жаль, т.к. ваш &quot;профессионализм&quot; простирается на далее того, что вы сами считаете правильным. Дело ваше, а всё остальное -- и факты и рассуждения -- выше. </div></div><br>
Шадыч, хочу заметить, что это высказывание (в том числе) напрямую относится и к тебе. И (еще раз обращаю твое внимание): ни одного факта (читай - цитаты из стандартов IEEE 1003.1x, который POSIX) ты <em class='tag-i'>не привел</em>. Ты практически ни одно из своих высказываний не подтвердил цитатами все из того же стандарта. Так о каких <em class='tag-i'>фактах</em> ты говоришь? А уровень моего профессионализма попрошу не трогать. Ибо для его выяснения (и суждения на его счет) тебе предется подтвердить уровень своего профессионализма. Ты готов к этому?<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192225'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T09:51:59+00:00">26.07.06, 09:51</time></span><div class='quote '>Видимо, мне просто лень. За такого рода исследование денег мне, я полагаю, не заплатят.</div></div><br>
Ну, лень - так лень. Тогда позволь мне твои рассуждения на этот счет считать ничем не подкрепленными абстрактными рассуждениями.]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192225</guid>
        <pubDate>Wed, 26 Jul 2006 09:51:59 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192225</link>
        <description><![CDATA[the_Shadow: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191951'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T07:12:35+00:00">26.07.06, 07:12</time></span><div class='quote '>а потому как соотносятся те или иные стандарты, и существуют ли они вообще - не столько для него принципиально.</div></div><br>
Ну, да... Конечно...<br>
Так зачем, говоришь, С-функции в Symbian&#39;е? Для того, чтобы соответствовать тому, что у меня в голове?<br>
Ну ни хрена себе... Буду теперь знать. Б?я&#33; Это ж до какой степени нужно хотеть доказать свою правоту, не имея к тому ни единого шанса, с тем, чтобы отрицать очевидное&#33; <br>
<br>
Тебе показывают -- вот, производитель во имя того, чтобы поддерживать <em class='tag-i'>POSIX 1003.1 System Interfaces</em> реализует С-функции, ан нет -- это для того, чтобы соответствовать мыслям какого-то дядьки из России. <br>
<br>
<strong class='tag-b'>Flex</strong>, смешно. И немного грустно. А вас, так называемых &quot;профессиональных&quot; программистов от души жаль, т.к. ваш &quot;профессионализм&quot; простирается на далее того, что вы сами считаете правильным. Дело ваше, а всё остальное -- и факты и рассуждения -- выше. <br>
<br>
Стена ждёт тебя, <strong class='tag-b'>Flex</strong>. Что делать -- ты в курсе, да? <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-26T09:53:03+00:00">26.07.06, 09:53</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192206'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T09:44:04+00:00">26.07.06, 09:44</time></span><div class='quote '>Но, видимо, не осилил. Или времени так и не нашел.</div></div><br>
Видимо, мне просто лень. За такого рода исследование денег мне, я полагаю, не заплатят.]]></description>
        <author>the_Shadow</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192206</guid>
        <pubDate>Wed, 26 Jul 2006 09:44:04 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192206</link>
        <description><![CDATA[Flex Ferrum: Шад все грозился провести какое-то сравнение языков С и С++. Но, видимо, не осилил. Или времени так и не нашел. А потому есть предложение (если это кому-нибудь это действительно интересно) проверить оверхед С++ на более-менее реальных задачах, перейдя в раздел &quot;Чистый С++&quot;. Проверять предлагаю так. С-шники предлагают задачу, в которой (по их мнению) будет существенный оверхед при реализации ее на С++. Предлагают свое решение. С++-сники предлагают свое. Сравниваем результаты. Как по объему исходного текста, так и по полученному ассемблерному результату.]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192200</guid>
        <pubDate>Wed, 26 Jul 2006 09:41:18 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192200</link>
        <description><![CDATA[bugger: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Ну тогда функтор для сравнения пусть будет extern&#39;овой функцией, чтобы не было inline-подстановок, а?</div></div><br>
<br>
это не является тем тестом, которым определяется скорость работы языка. для тестирования нужно на С и С++ написать более менее сложное приложение, и тогда сравнивать скорость их работы. могу сказать, что мне на С++ удавалось написать полный аналог программы, написанной на С, которая работала ничуть не медленее. кроме того, там были добавлены новый функции, которые никак не уменьшили скорость работы программы.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Не понял высказывания. Ты что, средствами C++ можешь реализовать новый диалект этого языка?</div></div><br>
<br>
вероятно, имелось ввиду, что использование ООП позволяет расширять функциональность программы (системы) в будущем без серьезной переделки системы в целов. одно только динамическое связывание и полиморфизм чего только стоит. как это сделать в С, я слабо представляю. например, как на С реализовать паттерн &quot;машина состояний&quot;, &quot;команда&quot;, &quot;алгоритм&quot;?]]></description>
        <author>bugger</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192195</guid>
        <pubDate>Wed, 26 Jul 2006 09:40:10 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192195</link>
        <description><![CDATA[LuckLess: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192161'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T09:21:19+00:00">26.07.06, 09:21</time></span><div class='quote '>Ну тогда функтор для сравнения пусть будет extern&#39;овой функцией, чтобы не было inline-подстановок, а?</div></div><br>
А зачем? Чтобы стало медленней я могу просто Sleep() в коде написать.<br>
Другое дело что на С это сделать в принципе нельзя.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192161'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T09:21:19+00:00">26.07.06, 09:21</time></span><div class='quote '>Не понял высказывания. Ты что, средствами C++ можешь реализовать новый диалект этого языка?</div></div><br>
нет. Имелось ввиду что С++ предраспологает к написанию более расширяемых программ.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192161'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T09:21:19+00:00">26.07.06, 09:21</time></span><div class='quote '>Подвержен как и C. Все зависит от рук.</div></div><br>
Ну это само собой. Руки - главный инструмент. Но на С++ ошибок делается меньше из-за лаконичности и обобщения.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192161'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T09:21:19+00:00">26.07.06, 09:21</time></span><div class='quote '>Ну это ты загнул. Захотелось CGI на C++ попробовать и сравнить с PHP/JSP/ASP.NET? Для каждой задачи существует инструмент, который лучше остальных подходит для ее решения. И далеко не всегда это C++. Его часто используют не к месту, ибо модно/популярно/ничего другого не знают.</div></div><br>
Проэкт обычно описан языком более подходящем для того чтобы реализовывать его на С++ нежели чем на С.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192161'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T09:21:19+00:00">26.07.06, 09:21</time></span><div class='quote '>Не понял высказывания. В смысле, код на C++ короче аналогичного кода на C? Такое бывает.</div></div><br>
именно что короче.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192161'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T09:21:19+00:00">26.07.06, 09:21</time></span><div class='quote '>И я тоже никак не пойму, что за неприязнь к C. Дерьмовый код можно написать на чем угодно. :D</div></div><br>
Это да))<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192161'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T09:21:19+00:00">26.07.06, 09:21</time></span><div class='quote '>Мусье хорошо представляет себе, что программирование ядра сильно отличается от написания прикладного ПО? Какой бы был выигрыш, если на каждом шагу вызывались бы конструкторы, деструкторы; поддержка try/catch/throw, я так понимаю, тоже определенных ресурсов требует.<br>
C здесь лучше хотя бы потому, что число сторонних эффектов в коде сведено к минимуму.</div></div><br>
Мусье как только видит 3 символа &quot;C++&quot; так сразу представляет себе конструкторы деструкторы и исключения? Чтож.. обыдно.<br>
Большинство основных объектов ядра можно представить С++ обхектами - синглетонами, для которых собстно будет вызван 1 раз конструктор и 1 раз деструктор. С++ исключения врятли можно применить в ядре ессесно. Но заворачивание основных сущностей ядра в С++ классы и  реализация похожих механизмов при помощи тех же шаблонов вполне бы подошло.]]></description>
        <author>LuckLess</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192191</guid>
        <pubDate>Wed, 26 Jul 2006 09:37:51 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192191</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192161'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T09:21:19+00:00">26.07.06, 09:21</time></span><div class='quote '>Ну тогда функтор для сравнения пусть будет extern&#39;овой функцией, чтобы не было inline-подстановок, а?</div></div><br>
Производительность изменится, но не существенно. <br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192161'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T09:21:19+00:00">26.07.06, 09:21</time></span><div class='quote '>Не понял высказывания. Ты что, средствами C++ можешь реализовать новый диалект этого языка?</div></div><br>
При определенной доле допущения в слове &quot;диалект&quot; - да. Реализовали же lambda-выражения? Реализовали (boost::lambda). Реализовали описание грамматик? Реализовали (boost::spirit). Знаю, что реализовывали lisp-подобные конструкции. Я к тому, что в этом отношении синтаксис С++ достаточно гибок. С фортом, конечно, не сравнится, но...<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192161'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T09:21:19+00:00">26.07.06, 09:21</time></span><div class='quote '>Подвержен как и C. Все зависит от рук.</div></div><br>
Только ошибки другого характера и другого уровня (т. е. несколько более высокоуровневые). Но от того не менее тяжелые в исправлении.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192161'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T09:21:19+00:00">26.07.06, 09:21</time></span><div class='quote '>Какой бы был выигрыш, если на каждом шагу вызывались бы конструкторы, деструкторы; поддержка try/catch/throw, я так понимаю, тоже определенных ресурсов требует.<br>
C здесь лучше хотя бы потому, что число сторонних эффектов в коде сведено к минимуму.</div></div><br>
А вот тут есть тонкий момент. Нужно хорошо представлять - как работает та или иная языковая конструкция. Как и когда вызываются консртукторы/деструкторы, к чему приводит использование болков try/catch и т. п. И при желании можно количество такого оверхеда свести к минимуму (если не сказать - &quot;на нет&quot;). Но тут лучше смотреть на реальном материале.]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192161</guid>
        <pubDate>Wed, 26 Jul 2006 09:21:19 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192161</link>
        <description><![CDATA[linuxfan: Полностью поддерживаю оратора, высказавшего мысль о том, что все зависит от прямоты рук.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192084'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>LuckLess &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T08:41:23+00:00">26.07.06, 08:41</time></span><div class='quote '>1) C++ не медленней(а чеще и быстрее (сравни std::sort и qsort))</div></div><br>
Ну тогда функтор для сравнения пусть будет extern&#39;овой функцией, чтобы не было inline-подстановок, а?<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192084'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>LuckLess &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T08:41:23+00:00">26.07.06, 08:41</time></span><div class='quote '>2) С++ расширяемей</div></div><br>
Не понял высказывания. Ты что, средствами C++ можешь реализовать новый диалект этого языка?<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192084'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>LuckLess &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T08:41:23+00:00">26.07.06, 08:41</time></span><div class='quote '>4) С++ менее подвержен ошибкам</div></div><br>
Подвержен как и C. Все зависит от рук.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192084'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>LuckLess &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T08:41:23+00:00">26.07.06, 08:41</time></span><div class='quote '>5) С++ более приспособлен для отражения существующего проекта</div></div><br>
Ну это ты загнул. Захотелось CGI на C++ попробовать и сравнить с PHP/JSP/ASP.NET? Для каждой задачи существует инструмент, который лучше остальных подходит для ее решения. И далеко не всегда это C++. Его часто используют не к месту, ибо модно/популярно/ничего другого не знают.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192084'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>LuckLess &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T08:41:23+00:00">26.07.06, 08:41</time></span><div class='quote '>6) С++ короче(исходный код больше)</div></div><br>
Не понял высказывания. В смысле, код на C++ короче аналогичного кода на C? Такое бывает.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192084'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>LuckLess &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T08:41:23+00:00">26.07.06, 08:41</time></span><div class='quote '>О каком более качественном кодинге на С вообще реч.</div></div><br>
И я тоже никак не пойму, что за неприязнь к C. Дерьмовый код можно написать на чем угодно. :D<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192084'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>LuckLess &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T08:41:23+00:00">26.07.06, 08:41</time></span><div class='quote '>Ядро ОС? Ну.. по мне так я был бы рад если его писали на С++..</div></div><br>
Мусье хорошо представляет себе, что программирование ядра сильно отличается от написания прикладного ПО? Какой бы был выигрыш, если на каждом шагу вызывались бы конструкторы, деструкторы; поддержка try/catch/throw, я так понимаю, тоже определенных ресурсов требует.<br>
C здесь лучше хотя бы потому, что число сторонних эффектов в коде сведено к минимуму.]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192085</guid>
        <pubDate>Wed, 26 Jul 2006 08:41:26 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192085</link>
        <description><![CDATA[Flex Ferrum: А потому предлагаю &quot;рестартовать&quot; обсуждение с моего поста <a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1185864' target='_blank'>Вопрос к программистам на C (сообщение #1185864)</a>. Там мною были откомментированы прара занимательных ссылок, предоставленных Шадом. Как раз касающихся вопросов оверхеда. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-26T08:46:28+00:00">26.07.06, 08:46</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192084'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>LuckLess &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T08:41:23+00:00">26.07.06, 08:41</time></span><div class='quote '>1) Уменьшает количество исходных кодов.<br>
2) Делает программу значительно более расширяемой<br>
3) Уменьшает вероятность ошибок(изза значительно уменьшенного объема кода, а также механизма искллючений).</div></div><br>
Но не будем забывать, что при этом может увеличиваться &quot;весовая категория&quot; решаемых задач. Т. е. на С++ могут решаться задачи значительно более сложные (постановочно и логически), чем на С. Что может привести к тому, что код (исходный) распухает, иерархия классов становится невнятной и неочевидной, шаблоны становятся монструозными и непонятными даже для самого автора, обработка исключений (да и диагностика вообще) - бессистемная, ну и т. д. и т. п.]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192084</guid>
        <pubDate>Wed, 26 Jul 2006 08:41:23 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192084</link>
        <description><![CDATA[LuckLess: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192022'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>p_kolya &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T08:04:10+00:00">26.07.06, 08:04</time></span><div class='quote '>А на Си реально КАЧЕСТВЕННЕЕ делать большие и огромные системы :yes: </div></div><br>
Да ну что ты?<br>
Отличное высказывание? Я тоже могу сказать<br>
На ассемблере реально КАЧЕСТВЕННЕЙ делать большие и огромные системы :yes: :yes:<br>
А еще лучше в машинных кодах писать&#33; А чо&#33;<br>
<br>
С чуть более низкоуровневый язык. Код(бинарный) на основе С получается более компактным, поэтому можно(но не обязательно) его(С) применять для написания ЯДЕР ОС или каких-либо других ну ооочень тяжелых приложений.<br>
Это его единственное преимущество над С++.<br>
<br>
КАЧЕСТВО - это что по твоему вообще? По мне так качество - это когда программа делает то, что написано в документации к ней(ну м.б. больше, но не меньше никак). Что С, что С++ позволяют написать хорошо оптимизированный и удобный код, НО Цэ++ поддерживает механизмы обобщения(шаблоны), исключения и ООП что<br>
1) Уменьшает количество исходных кодов.<br>
2) Делает программу значительно более расширяемой<br>
3) Уменьшает вероятность ошибок(изза значительно уменьшенного объема кода, а также механизма искллючений).<br>
<br>
Эти 3 пунка как раз позволяют писать более оптимальный код, а также чаще позволяет писать код более соответствующие проекту.<br>
<br>
Вывод:<br>
1) C++ не медленней(а чеще и быстрее (сравни std::sort и qsort))<br>
2) С++ расширяемей<br>
3) С++ обобщенней<br>
4) С++ менее подвержен ошибкам<br>
5) С++ более приспособлен для отражения существующего проекта<br>
6) С++ короче(исходный код больше)<br>
7) С++ дает иногда больший размер бинарников<br>
<br>
О каком более качественном кодинге на С вообще реч.<br>
Ядро ОС? Ну.. по мне так я был бы рад если его писали на С++.. я бы отдал за это 100МБ оперативы(ну это верхний предел..), зато уверен - багов было бы меньше, и работыло бы не медленней.]]></description>
        <author>LuckLess</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192047</guid>
        <pubDate>Wed, 26 Jul 2006 08:18:45 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192047</link>
        <description><![CDATA[Flex Ferrum:  <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-26T08:20:40+00:00">26.07.06, 08:20</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192028'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>BugHunter &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T08:07:20+00:00">26.07.06, 08:07</time></span><div class='quote '>php отличный c++ like язык, и качество решений на нём напрямую зависит от прямизны рук производителя.</div></div><br>
 :yes: Это, впрочем, можно отнести к любому средству разработки.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192028'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>BugHunter &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T08:07:20+00:00">26.07.06, 08:07</time></span><div class='quote '>C++ же реально упрощает ряд задач, постоянно выползающих в больших проектах, например, конфликт имён</div></div><br>
И с этим тоже согласен. А потому предлагаю сосредоточится на реальных вопросах, касающихся оверхеда (как на уровне кода, так и на уровне результатов компиляции) при использовании С++.]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192028</guid>
        <pubDate>Wed, 26 Jul 2006 08:07:20 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192028</link>
        <description><![CDATA[BugHunter: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>php, к примеру, вобще простой язык, только качество решений на нем очень часто низко.</div></div><br>
php отличный c++ like язык, и качество решений на нём напрямую зависит от прямизны рук производителя.<br>
<br>
C++ же реально упрощает ряд задач, постоянно выползающих в больших проектах, например, конфликт имён :yes:]]></description>
        <author>BugHunter</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192022</guid>
        <pubDate>Wed, 26 Jul 2006 08:04:10 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192022</link>
        <description><![CDATA[p_kolya: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1192016'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>BugHunter &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T07:59:45+00:00">26.07.06, 07:59</time></span><div class='quote '>Дело совсем не в понтах. на ++ реально ПРОЩЕ делать большие и огромные системы :yes:</div></div><br>
А на Си реально КАЧЕСТВЕННЕЕ делать большие и огромные системы :yes: <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-26T08:04:46+00:00">26.07.06, 08:04</time></span></span><br>
php, к примеру, вобще простой язык, только качество решений на нем очень часто низко.]]></description>
        <author>p_kolya</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192016</guid>
        <pubDate>Wed, 26 Jul 2006 07:59:45 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192016</link>
        <description><![CDATA[BugHunter: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Кстати, BuhgHunter, есть ещё один вывод. Хорошо известно, что для ОСей, очень активно использующих С++, довольно много вирусов -- цинда и Symbian коррелируют с этим утверждением. А как быть с тем, что для PalmOS &amp; Linux весьма и весьма мало вирусов? :D:D:D</div></div><br>
<br>
А мне какзалось, тут дело в популярности :).]]></description>
        <author>BugHunter</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192014</guid>
        <pubDate>Wed, 26 Jul 2006 07:58:20 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1192014</link>
        <description><![CDATA[bugger: немного оффтопа и о симбиане<br><br>книгу можно посмотреть тут<br>правда воды много...<br><br>ftp://reader:reader707@217.23.124.148/Wiley_Programming_for_the_Series_60_Platform_and_Symbian_OS_(2003).pdf<br><br>фак<br>ftp://reader:reader707@217.23.124.148/faq.zip<br><br>правда фак моего собственного изготовления, написанный от руки и по простому. так что звиняйте, что без картинок.]]></description>
        <author>bugger</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191951</guid>
        <pubDate>Wed, 26 Jul 2006 07:12:35 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191951</link>
        <description><![CDATA[Flex Ferrum: <strong class='tag-b'>trainer</strong>, оставь Шада в покое. :) С ним уже давно все ясно:<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191864'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>trainer &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T06:07:16+00:00">26.07.06, 06:07</time></span><div class='quote '>Правда, реальность у тебя какая-то своеобразная. Присутствующая в основном у тебя в голове. :lool:</div></div><br>
а потому как соотносятся те или иные стандарты, и существуют ли они вообще - не столько для него принципиально.]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191864</guid>
        <pubDate>Wed, 26 Jul 2006 06:07:16 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191864</link>
        <description><![CDATA[trainer: Ну конечно, ты же у нас единственный, имеющий дело с реальностью. Остальные - просто фантазируют. :lool:<br>Правда, реальность у тебя какая-то своеобразная. Присутствующая в основном у тебя в голове. :lool:]]></description>
        <author>trainer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191854</guid>
        <pubDate>Wed, 26 Jul 2006 05:58:59 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191854</link>
        <description><![CDATA[the_Shadow: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191845'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>trainer &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T05:53:10+00:00">26.07.06, 05:53</time></span><div class='quote '>Была бы традиция использования Ada - POSIX базировался бы на Ada. Не устраивал бы ни один существующий язык - придумали бы новый.</div></div><br>
О&#33; Ещё один спец по сослагательному наклонению&#33; <br>
<br>
<strong class='tag-b'>&quot;Было бы&quot; -- не канает&#33;</strong> Есть то, что есть (и в части Ada в том числе). А всё остальное -- мыслительный онанизм, мало пересекающийся с реальностью. И до того, как сказки сказывать, лучше с нею (реальностью) познакомиться по-ближе.]]></description>
        <author>the_Shadow</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191845</guid>
        <pubDate>Wed, 26 Jul 2006 05:53:10 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191845</link>
        <description><![CDATA[trainer: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191820'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T05:35:39+00:00">26.07.06, 05:35</time></span><div class='quote '>Угу. Что угодно, только не определения POSIX 1003.1 System Interfaces. Ясные и чёткие... &quot;Традиция&quot;, &quot;разумная достаточность&quot;...</div></div>Была бы традиция использования Ada - POSIX базировался бы на Ada. Не устраивал бы ни один существующий язык - придумали бы новый.]]></description>
        <author>trainer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191820</guid>
        <pubDate>Wed, 26 Jul 2006 05:35:39 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191820</link>
        <description><![CDATA[the_Shadow: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191799'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>trainer &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T05:07:43+00:00">26.07.06, 05:07</time></span><div class='quote '>Разумная достаточность, традиция. Была бы традиция использовать для этого, например, Ada - было бы на нем.</div></div><br>
Угу. <span class='tag-u'>Что угодно</span>, только не определения <em class='tag-i'>POSIX 1003.1 System Interfaces</em>. Ясные и чёткие... &quot;Традиция&quot;, &quot;разумная достаточность&quot;... <br>
<br>
Всё ясно.]]></description>
        <author>the_Shadow</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191799</guid>
        <pubDate>Wed, 26 Jul 2006 05:07:43 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191799</link>
        <description><![CDATA[trainer: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191781'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T04:34:02+00:00">26.07.06, 04:34</time></span><div class='quote '>Тебя не удивляет то, что это сделано?</div></div>Меня - нет.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191781'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T04:34:02+00:00">26.07.06, 04:34</time></span><div class='quote '>И почему именно С, а не &quot;что-то ещё&quot;?</div></div>Разумная достаточность, традиция. Была бы традиция использовать для этого, например, Ada - было бы на нем.]]></description>
        <author>trainer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191781</guid>
        <pubDate>Wed, 26 Jul 2006 04:34:02 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191781</link>
        <description><![CDATA[the_Shadow: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191778'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>trainer &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T04:24:31+00:00">26.07.06, 04:24</time></span><div class='quote '>Что такого удивительного в том, что американцы заботятся о соответствии американским стандартам? Тебя не удивляет, что они меряют в дюймах, футах, баррелях?<br>
</div></div><br>
Меня удивляет несколько другое. Я уже писал об &quot;очерёдности&quot; стандартов. Вначале -- общая разработка в пределах коммитетов POSIX, потом утверждение интернационального стандарта -- ISO/IEC, потом -- национальных (ANSI, к сожалению в России я не знаю такого &quot;института по стандартизации&quot;) и, последний уровень -- комм. фирмы со совоими разработками. Видимо, ты хреново прочёл. Твои ссылки читал. <br>
<br>
А потом -- зачем нужно было в Symbian городить какие-то С-вызовы? <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-26T04:34:54+00:00">26.07.06, 04:34</time></span></span><br>
Тебя не удивляет то, что это сделано? И почему именно С, а не &quot;что-то ещё&quot;?]]></description>
        <author>the_Shadow</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191778</guid>
        <pubDate>Wed, 26 Jul 2006 04:24:31 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191778</link>
        <description><![CDATA[trainer: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191752'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-26T02:29:58+00:00">26.07.06, 02:29</time></span><div class='quote '>Замечаем -- library оно обеспечивает ANSI (т.е., национального уровня), а вот POSIX system calls -- звиняйте. Уже хорошо нам знакомое. В прочем, не всем.</div></div>Ну ты, блин, даешь&#33; Там же приведена ссылка на ansi.org. Я тебе давал ссылку на их webstore. Найди там ANSI C. ANSI C - это устоявшееся понятие, под которым обычно понимают ISO/IEC 9899:1989(он же C89) и ничего более. Посмотри, что делает в GCC ключик -ansi. Так получилось, что сначала эта версия стандарта была принята ANSI(естественно, только для США), а затем ISO(для всего мира). Что такого удивительного в том, что американцы заботятся о соответствии американским стандартам? Тебя не удивляет, что они меряют в дюймах, футах, баррелях?]]></description>
        <author>trainer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191752</guid>
        <pubDate>Wed, 26 Jul 2006 02:29:58 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191752</link>
        <description><![CDATA[the_Shadow: 2 <strong class='tag-b'>BugHunter</strong>.<br>
<br>
О Symbian. Пара слов.<br>
<br>
Итак, то, что оно написано на С++ не вызывает ни каких эмоций. Написано и написано. Замечу, что я ни где не рассматривал ограничение на то, <em class='tag-i'>на чём</em> оно написано. А вот ограничение на &quot;нижний уровень&quot;, уровень системообразования, довольно серьёзный -- оно <em class='tag-i'>обязано</em> реализовать ясно и чётко описанные вещи -- хочется этого кому-то или нет. <br>
<br>
Однако, я, не зная на чём там написана PalmOS версии 5.4.2, дал ссылку на выжимку из документации по PalmOS, где перечислены вызовы С-функций, описанных в POSIX. Утверждение о POSIX-совместимости Symbian, меня заинтересовало. <br>
<br>
Так, как я с этой осью не знаком, решил пол-часика по-гуглить. Собственно, найден ряд PDF&#39;ов, сходящихся к тому, что написано для v70. Здесь то, что можно найти в простом html, без PDF&#39;ов...<br>
Итак:<br>
http://www.symbian.com/developer/techlib/v70sdocs/doc_source/DevGuides/cpp/Base/CStandardLibrary/DesignSTDLIB.html#stdlib%2edesign -- дизайн и реализация. Документ, думаю, для Symbian&#39;овца интересный. Да и так... Почитать. <br>
Явно оговорено то, что:<br>
Раздел <em class='tag-i'>DESIGN GOALS</em>:<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>- to address the porting requirements of C software engines to Symbian OS.<br>
- to provide an ANSI C library with associated POSIX system calls.<br>
- to support both pure C programs and mixed C/C++ programs.</div></div><br>
Замечаем -- library оно обеспечивает ANSI (т.е., национального уровня), а вот POSIX system calls -- звиняйте. Уже хорошо нам знакомое. В прочем, не всем.<br>
<br>
Symbian&#39;овцы<em class='tag-i'> чётко оговорили</em> то, что они реализуют -&gt; http://www.symbian.com/developer/techlib/v70sdocs/doc_source/reference/cpp/libc/index.html#ref%2ecpp%2elibc%2eindex<br>
<br>
Если подумать, а на хер им это надо? Ведь, истинные монстры С++ в пять минут тебе всё, что угодно изваяют, то... думаю, там народ по-умнее сидит. Вот пример того, зачем они сделали свою систему именно так, как сделали -&gt; http://linuxdevices.com/news/NS5822160852.html. Забавно, не так ли? :D:D:D И откуда в Apache C++? :D:D:D<br>
Верно -- он там на хер не нужен. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-26T02:36:39+00:00">26.07.06, 02:36</time></span></span><br>
Однако, &quot;рисовать&quot; свой вариант чего-то Apache-подобного ни кто не стал, просто взяли, да использовали проверенный код. Видимо, да... &quot;Программирование в России&quot; довольно экстримальная вещь... :D:D:D<br>
<br>
Кстати, <strong class='tag-b'>BuhgHunter</strong>, есть ещё один вывод. Хорошо известно, что для ОСей, очень активно использующих С++, довольно много вирусов -- цинда и Symbian коррелируют с этим утверждением. А как быть с тем, что для PalmOS &amp; Linux весьма и весьма мало вирусов? :D:D:D<br>
<br>
Здесь напрашивается один вывод... Чем больше проггеры/девелоперы железа озабочены собственными понтами, тем меньше они заняты реализацией (грамотной) стандарта, тем более долбанутый код или система в целом выходят из их рук. Ну, а там -- как кривая ляжет... :D:D:D]]></description>
        <author>the_Shadow</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191403</guid>
        <pubDate>Tue, 25 Jul 2006 14:49:47 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191403</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191395'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>trainer &#064; <time class="tag-quote__quoted-time" datetime="2006-07-25T14:46:32+00:00">25.07.06, 14:46</time></span><div class='quote '>Особенно забавно там выглядят __try и __finally :D Ну явно C. :D</div></div><br>
Угумс. Особенно если взглянуть на этот пункт стандарта POSIX:<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>For the C programming language, shall not exceed any minimum implementation limit defined in the ISO C standard, unless the System Interfaces volume of IEEE Std 1003.1-2001 specifies a higher minimum implementation limit<br>
</div></div><br>
то можно увидить, что и POSIX-conformace тоже не выдерживается.]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191395</guid>
        <pubDate>Tue, 25 Jul 2006 14:46:32 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191395</link>
        <description><![CDATA[trainer: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191190'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-25T12:37:58+00:00">25.07.06, 12:37</time></span><div class='quote '>описание fflush() (как уже рассматривавшийся выше единичный пример) дано изначально в POSIX, позже оно откорректировано (я уже объяснял почему так сделано, так же выше) в ISO.</div></div>Только почему-то следов этой корректировки никому не видно.<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>7.19.5.2 The fflush function<br>
Synopsis<br>
#include &lt;stdio.h&gt;<br>
int fflush(FILE *stream);<br>
Description<br>
If stream points to an output stream or an update stream in which the most recent operation was not input, the fflush function causes any unwritten data for that stream to be delivered to the host environment to be written to the file; otherwise, the behavior is undefined.<br>
If stream is a null pointer, the fflush function performs this flushing action on all streams for which the behavior is defined above.<br>
Returns<br>
The fflush function sets the error indicator for the stream and returns EOF if a write error occurs, otherwise it returns zero.<br>
Forward references: the fopen function (7.19.5.3).</div></div>Никакого упоминания про POSIX.<br>
Зато обратных примеров полно. Открываем в POSIX описание, например, printf и видим любопытную запись:<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Issue 5<br>
Aligned with ISO/IEC 9899:1990/Amendment 1:1995 (E). Specifically, the l (ell) qualifier can now be used with c and s conversion specifiers.</div></div><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191211'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-25T12:49:45+00:00">25.07.06, 12:49</time></span><div class='quote '>А теперь, давай глянем на сырец того же fflush()</div></div>И что он доказывает? Ну видно, что написан он латиницей. А у меня в Microsoft Platform SDK February 2003 она написана так:<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#ifdef _MT</div><div class="code_line">&nbsp;</div><div class="code_line">int __cdecl fflush (</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;REG1 FILE *stream</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;int rc;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;/* if stream is NULL, flush all streams</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; */</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if ( stream == NULL )</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return(flsall(FFLUSHNULL));</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;_lock_str(stream);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;__try {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;rc = _fflush_lk(stream);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;__finally {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;_unlock_str(stream);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return(rc);</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">int __cdecl _fflush_lk (</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;REG1 FILE *str</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;)</div><div class="code_line">{</div><div class="code_line">&nbsp;</div><div class="code_line">#else &nbsp;/* _MT */</div><div class="code_line">&nbsp;</div><div class="code_line">int __cdecl fflush (</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;REG1 FILE *str</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;)</div><div class="code_line">{</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;/* if stream is NULL, flush all streams */</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if ( str == NULL ) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return(flsall(FFLUSHNULL));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">#endif &nbsp;/* _MT */</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if (_flush(str) != 0) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* _flush failed, don&#39;t attempt to commit */</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return(EOF);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;/* lowio commit to ensure data is written to disk */</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if (str-&#62;_flag &amp; _IOCOMMIT) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return (_commit(_fileno(str)) ? EOF : 0);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return 0;</div><div class="code_line">}</div><div class="code_line">int __cdecl _flush (</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;FILE *str</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;REG1 FILE *stream;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;REG2 int rc = 0; /* assume good return */</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;REG3 int nchar;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;/* Init pointer to stream */</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;stream = str;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if ((stream-&#62;_flag &amp; (_IOREAD | _IOWRT)) == _IOWRT &amp;&amp; bigbuf(stream)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&amp;&amp; (nchar = (int)(stream-&#62;_ptr - stream-&#62;_base)) &#62; 0)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if ( _write(_fileno(stream), stream-&#62;_base, nchar) == nchar ) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* if this is a read/write file, clear _IOWRT so that</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; * next operation can be a read</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; */</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if ( _IORW &amp; stream-&#62;_flag )</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;stream-&#62;_flag &amp;= ~_IOWRT;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;stream-&#62;_flag |= _IOERR;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;rc = EOF;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;stream-&#62;_ptr = stream-&#62;_base;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;stream-&#62;_cnt = 0;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return(rc);</div><div class="code_line">}</div></ol></div></div></div></div>Особенно забавно там выглядят __try и __finally :D Ну явно C. :D]]></description>
        <author>trainer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191385</guid>
        <pubDate>Tue, 25 Jul 2006 14:38:42 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191385</link>
        <description><![CDATA[the_Shadow: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191375'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2006-07-25T14:24:07+00:00">25.07.06, 14:24</time></span><div class='quote '>С трудом понимаю, что ты хотел этой фразой сказать.</div></div><br>
ЗЗ.<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><em class='tag-i'>Ээээ... &quot;Забей, забудь&quot;.</em> </span>]]></description>
        <author>the_Shadow</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191375</guid>
        <pubDate>Tue, 25 Jul 2006 14:24:07 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191375</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191374'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-25T14:19:52+00:00">25.07.06, 14:19</time></span><div class='quote '>Какой на хрен &quot;системы&quot;?</div></div><br>
Той, которая имеется в виду под словом System в заглавии упоминаемого тобою раздела <em class='tag-i'>System</em> Interface. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-25T14:31:04+00:00">25.07.06, 14:31</time></span></span><br>
А именно, это некая <br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>IEEE Std 1003.1-2001 defines a <strong class='tag-b'><em class='tag-i'>standard operating system</em></strong> interface and environment, including a command interpreter (or &quot;shell&quot;), and common utility programs to support applications portability at the source code level. It is intended to be used by both applications developers and system implementors.<br>
</div></div> <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-25T14:32:54+00:00">25.07.06, 14:32</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191374'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-25T14:19:52+00:00">25.07.06, 14:19</time></span><div class='quote '>А я добавлю -- первичный, организующий для всех остальных языков программирования тот API, которым эти языки пользуются (выше приведены примеры для Fortran и Ada, причём, в именах этих стандартов есть указание на то, что это -- bindings to POSIX 1003.1, т.е., и на System Interfaces включительно). Это -- для систем, относящихся ко множеству POSIX-совместимых. Иного просто нет, да он и на хер никому не вбился. Ибо и сущетвующий удобен. Если, по его описанию это -- что-то отличное от С в части синтаксиса, то... </div></div><br>
С трудом понимаю, что ты хотел этой фразой сказать.]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191374</guid>
        <pubDate>Tue, 25 Jul 2006 14:19:52 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191374</link>
        <description><![CDATA[the_Shadow: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191364'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2006-07-25T14:08:34+00:00">25.07.06, 14:08</time></span><div class='quote '>Учитывая, что POSIX System Interfaces - это лишь описание API системы, то выводы из этого высказывания я делаю соответствующие.</div></div><br>
Какой на хрен &quot;системы&quot;? Ты сам всё сказал. <br>
<br>
А я добавлю -- <em class='tag-i'>первичный</em>, организующий для всех остальных языков программирования тот API, которым эти языки пользуются (выше приведены примеры для Fortran и Ada, причём, в именах этих стандартов есть указание на то, что это -- bindings to POSIX 1003.1, т.е., и на System Interfaces включительно). Это -- для систем, относящихся ко множеству POSIX-совместимых. Иного просто нет, да он и на хер никому не вбился. Ибо и сущетвующий удобен. Если, по его описанию это -- что-то отличное от С в части синтаксиса, то... <br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191364'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2006-07-25T14:08:34+00:00">25.07.06, 14:08</time></span><div class='quote '>Еще раз: я не могу сравнивать язык программирования (клавиатуру - т. е. средство управление) с программным интерфейсом (компьютером - т. е. тем, чем управляют). Если ты можешь - принимай поздравления.</div></div><br>
<em class='tag-i'><span class="tag-color tag-color-named" data-value="gray" style="color: gray">Кланяясь.</span></em> Спасибо... Спасибо... <br>
<br>
Всё. С меня довольно. <br>
DIXI.]]></description>
        <author>the_Shadow</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191364</guid>
        <pubDate>Tue, 25 Jul 2006 14:08:34 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191364</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191333'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-25T13:53:37+00:00">25.07.06, 13:53</time></span><div class='quote '>У меня есть только одно довольно ёмкое описание -- 3.14zдёж. Наглый и беспардонный.</div></div><br>
Шад, еще раз хочу заметить, что ты так и не обоснвал то, почему это именно &quot;звиздеж&quot;. Еще раз: я не могу сравнивать язык программирования (клавиатуру - т. е. средство управление) с программным интерфейсом (компьютером - т. е. тем, чем управляют). Если ты можешь - принимай поздравления.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191333'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-25T13:53:37+00:00">25.07.06, 13:53</time></span><div class='quote '>Учитывая POSIX 1003.1 System Interfaces, я считаю вышеприведённое высказывание тем, чем считаю. А &quot;выдающего&quot; такие высказывания &quot;Модератора&quot; -- тем, чем считаю.</div></div><br>
Учитывая, что POSIX System Interfaces - это лишь описание API системы, то выводы из этого высказывания я делаю соответствующие. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-25T14:11:45+00:00">25.07.06, 14:11</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191333'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-25T13:53:37+00:00">25.07.06, 13:53</time></span><div class='quote '>А зачем я привёл тогда ссылки на выдержки из документации по PalmOS? Оно, конечно, можно проигнорировать... А, тогда, зачем я привёл отрывок из кода для цинды? Ну да... Конечно... Оно же там не реализовано... :D:D:D </div></div><br>
Шад, мы о чем говорим? Мы говорим о стандартах. А стандарт он один, и ни документация на PalmOS, ни исходники винды (точнее CRTL, которые ты неизвестно за чем привел) таковыми не являются. Если речь идет о стандартах - то имеет значение только буква стандарта. По крайней мере для меня.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191333'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-25T13:53:37+00:00">25.07.06, 13:53</time></span><div class='quote '>Oй, мама, DE-JURE? Ну ктобы говорил... Человек, не считающий POSIX 1003.1 System Interfaces стандартом?</div></div><br>
Шад, где я писал о том, что не считаю POSIX 1003.1 System Interfaces стандартом? Я говорил о том, что это стандарт на System Interface. Но не на язык С. Разницу улавливаешь?]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191333</guid>
        <pubDate>Tue, 25 Jul 2006 13:53:37 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191333</link>
        <description><![CDATA[the_Shadow: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191298'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>BugHunter &#064; <time class="tag-quote__quoted-time" datetime="2006-07-25T13:38:34+00:00">25.07.06, 13:38</time></span><div class='quote '>Но это не значит, что POSIX нас ограничивает в выборе языке программирования</div></div><br>
?ля&#33; А, интересно, где я писал обратное? <br>
<br>
А глянь на дату fflush&#39;ного мана -- это тебе не Россия, где каждый день новые языки в &quot;моде&quot;. А всё, что не модное -- в топку. По этой причине, мало чего в области ОС и сделали. Стоящего. Ибо основ не знаем. <br>
<br>
И, мне интересно, а как же это подкомитеты IEEE, имеющие торговую марку POSIX не будут определять System Interfaces на чём-то, отличном от C, будучи частью ISO? И каким именно образом можно истолковать высказывание:<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1185876'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2006-07-20T20:49:39+00:00">20.07.06, 20:49</time></span><div class='quote '>Не дурно было бы заметить, что POSIX и C это, гм, примерно то же самое, как компьютер целиком и клавиатура к нему. Т. е. не сравниваемые вещи. </div></div><br>
У меня есть только одно довольно ёмкое описание -- 3.14zдёж. Наглый и беспардонный. <br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191273'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2006-07-25T13:25:43+00:00">25.07.06, 13:25</time></span><div class='quote '>А чего мне доказывать человеку, который не видит различий между программным интерфейсом, языком программирования и библиотекой рантайм-поддержки этого языка программирования?</div></div><br>
Я этого ни прямо ни косвенно ни где не утверждал -- более того, я замечал, что &quot;очередь&quot; из вопросов я игнорирую. Так что, здесь -- опять 3.14zдёж, по причине того, что мне приписывается то, что я явно и чётко оговорил -- &quot;об этом я не говорю&quot;. <br>
<br>
Единственное, что я успорял, так это то, что POSIX &amp; C -- несопоставимые вещи. Учитывая POSIX 1003.1 System Interfaces, я считаю вышеприведённое высказывание тем, чем считаю. А &quot;выдающего&quot; такие высказывания &quot;Модератора&quot; -- тем, чем считаю. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-25T13:56:28+00:00">25.07.06, 13:56</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191305'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2006-07-25T13:41:25+00:00">25.07.06, 13:41</time></span><div class='quote '>Так ведь никто и не спорит с тем, что С - стандарт de-facto для Unix-систем. De-facto, но не de-jure.</div></div><br>
И опять и опять и опять... А зачем я привёл тогда ссылки на выдержки из документации по PalmOS? Оно, конечно, можно проигнорировать... А, тогда, зачем я привёл отрывок из кода для цинды? Ну да... Конечно... Оно же там не реализовано... :D:D:D <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-25T13:58:21+00:00">25.07.06, 13:58</time></span></span><br>
Oй, мама, DE-JURE? Ну ктобы говорил... Человек, не считающий POSIX 1003.1 System Interfaces стандартом? Ну, да... не de-jure... не de-jure... Не забыть бы... Да, и не забыть бы того, что там -- не С&#33; :D:D:D:D:D]]></description>
        <author>the_Shadow</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191305</guid>
        <pubDate>Tue, 25 Jul 2006 13:41:25 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191305</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191298'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>BugHunter &#064; <time class="tag-quote__quoted-time" datetime="2006-07-25T13:38:34+00:00">25.07.06, 13:38</time></span><div class='quote '>Но это не значит, что POSIX нас ограничивает в выборе языке программирования :yes:</div></div><br>
Угумс. И он явно об этом говорит. См. цитаты из поста <a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1186846' target='_blank'>Вопрос к программистам на C (сообщение #1186846)</a><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191301'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-25T13:39:15+00:00">25.07.06, 13:39</time></span><div class='quote '>Однако, почему же всё-таки нет ISO/IEC-совместимых ОС, если всё так запущено? :D:D:D<br>
</div></div><br>
Читай внимательно:<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191180'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2006-07-25T12:31:42+00:00">25.07.06, 12:31</time></span><div class='quote '>А на счет ISO/IEC-совместимых, то, гм, Шадыч, ну родной мой, как может быть интерфейс системы совместим со стандартом на язык?</div></div> <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-25T13:42:18+00:00">25.07.06, 13:42</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191298'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>BugHunter &#064; <time class="tag-quote__quoted-time" datetime="2006-07-25T13:38:34+00:00">25.07.06, 13:38</time></span><div class='quote '>Flex, в его словах есть доля правды, POSIX совместимые системы проще всего делать на... вы правильно догадались - на C :). В основном по той причине, что можно просто скоммуниздить ворох исходников из линя :).</div></div><br>
Так ведь никто и не спорит с тем, что С - стандарт de-facto для Unix-систем. De-facto, но не de-jure.]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191303</guid>
        <pubDate>Tue, 25 Jul 2006 13:40:13 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191303</link>
        <description><![CDATA[BugHunter: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Однако, почему же всё-таки нет ISO/IEC-совместимых ОС, если всё так запущено? :D:D:D</div></div><br>
снова здорово :yes:]]></description>
        <author>BugHunter</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191301</guid>
        <pubDate>Tue, 25 Jul 2006 13:39:15 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191301</link>
        <description><![CDATA[the_Shadow: Да как скажешь... :D:D:D Я не против. Мне по-ровну. :D:D:D<br><br>Однако, почему же всё-таки нет ISO/IEC-совместимых ОС, если всё так запущено? :D:D:D]]></description>
        <author>the_Shadow</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191298</guid>
        <pubDate>Tue, 25 Jul 2006 13:38:34 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191298</link>
        <description><![CDATA[BugHunter: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Примеры будут?</div></div><br>
См. холивар о линухе супротив винды.<br>
<br>
Flex, в его словах есть доля правды, POSIX совместимые системы проще всего делать на... вы правильно догадались - на C :). В основном по той причине, что можно просто скоммуниздить ворох исходников из линя :).<br>
<br>
Но это не значит, что POSIX нас ограничивает в выборе языке программирования :yes:, как это кажется нашему самому старшему и умному.]]></description>
        <author>BugHunter</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191273</guid>
        <pubDate>Tue, 25 Jul 2006 13:25:43 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191273</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=140090&view=findpost&p=1191247'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>the_Shadow &#064; <time class="tag-quote__quoted-time" datetime="2006-07-25T13:11:04+00:00">25.07.06, 13:11</time></span><div class='quote '>Доказать ты ни чего не доказал. Ровным счётом. Потёр &quot;плохое слово&quot;? Жаль, право... :D:D:D Смотрелось. :D:D:D<br>
<br>
А вот приведённый выше фрагмент -- из исходников цинды (я про #343).<br>
Видимо, делали их люди, ни как не знающие о вашем просвящённейшем мнении. LOL, сына... :D:D:D</div></div><br>
А чего мне доказывать человеку, который не видит различий между программным интерфейсом, языком программирования и библиотекой рантайм-поддержки этого языка программирования? Что мне доказывать человеку, который готов обвинять кого угодно в отсутствии знаний, и который сам не готов эти знания продемонстрировать? Нет уж, ты в доказательствах не нуждаешься, а потому уволь. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-25T13:29:32+00:00">25.07.06, 13:29</time></span></span><br>
Я от тебя просил всего ничего - привести цитаты из стандарта POSIX. Ты этой элементарной вещи (при всех своих знаниях) сделать не смог. А не смог по одной простой причине - нет в стандарте POSIX ничего, что бы подтверждало бы твои слова (говорю этого, ибо доказательств обратного не нашел и не увидел). Иначе бы спор был закончен в самом начале.]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191247</guid>
        <pubDate>Tue, 25 Jul 2006 13:11:04 +0000</pubDate>
        <title>Вопрос к программистам на C</title>
        <link>https://forum.sources.ru/index.php?showtopic=140090&amp;view=findpost&amp;p=1191247</link>
        <description><![CDATA[the_Shadow: LOL&#33; :D:D:D <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-25T13:22:50+00:00">25.07.06, 13:22</time></span></span><br>
Доказать ты ни чего не доказал. Ровным счётом. Потёр &quot;плохое слово&quot;? Жаль, право... :D:D:D Смотрелось. :D:D:D<br>
<br>
А вот приведённый выше фрагмент -- из исходников цинды (я про #343).<br>
Видимо, делали их люди, ни как не знающие о вашем просвящённейшем мнении. LOL, сына... :D:D:D]]></description>
        <author>the_Shadow</author>
        <category>Holy Wars</category>
      </item>
	
      </channel>
      </rss>
	