<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Аспекты работы gcc -std=c99</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9262.html</link>
    <description>Доброго времени суток, уважаемые. Буду краток.&lt;br&gt;&lt;br&gt;$ uname -a&lt;br&gt;Linux lh-ABC512 2.6.35-29-generic #51-Ubuntu SMP Fri Apr 15 17:12:35 UTC 2011 x86_64 GNU/Linux&lt;br&gt;$ cat -n fifo.c&lt;br&gt;     1#include &amp;lt;stdio.h&amp;gt;&lt;br&gt;     2#include &amp;lt;stdlib.h&amp;gt;&lt;br&gt;     3#include &amp;lt;string.h&amp;gt;&lt;br&gt;     4#include &amp;lt;linux/stat.h&amp;gt;&lt;br&gt;     5#include &amp;lt;sys/types.h&amp;gt;&lt;br&gt;     6#include &amp;lt;sys/stat.h&amp;gt;&lt;br&gt;     7#include &amp;lt;fcntl.h&amp;gt;&lt;br&gt;     8#include &amp;lt;unistd.h&amp;gt;&lt;br&gt;     9#include &amp;lt;errno.h&amp;gt;&lt;br&gt;    10&lt;br&gt;    11#define FIFO_FILE       &quot;MYFIFO&quot;&lt;br&gt;    12&lt;br&gt;    13int main(void)&lt;br&gt;    14&#123;&lt;br&gt;    15FILE *fp;&lt;br&gt;    16char readbuf&#091;80&#093;;&lt;br&gt;    17&lt;br&gt;    18umask(0);&lt;br&gt;    19mknod(FIFO_FILE, S_IFIFO&amp;#124;0666, 0);&lt;br&gt;    20while(1) &#123;&lt;br&gt;    21fp = fopen(FIFO_FILE, &quot;r&quot;);&lt;br&gt;    22fgets(readbuf, 80, fp);&lt;br&gt;    23printf(&quot;Received string: &#037;s&#092;n&quot;, readbuf);&lt;br&gt;    24fclose(fp);&lt;br&gt;    25&#125;&lt;br&gt;    26return(0);&lt;br&gt;    27&#125;&lt;br&gt;$ gcc -v&lt;br&gt;Using built-in specs.&lt;br&gt;Target: x86_64-linux-gnu&lt;br&gt;Configured with: ../src/configure -v --with-pkgversion=&apos;Ubuntu/Linaro 4.4.4-14ubuntu5&apos; --with-bugurl=file:///u</description>

<item>
    <title>Аспекты работы gcc -std=c99 (VSlater)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9262.html#20</link>
    <pubDate>Tue, 25 Oct 2011 09:31:35 GMT</pubDate>
    <description>&amp;gt; 2ТС: отдельно извиняюсь, проблема-то хоть решилась?&lt;br&gt;&lt;br&gt;В итого: Да помогло.&lt;br&gt;Тему считаю закрытой.&lt;br&gt;&lt;br&gt;Всем спасибо, все свободны.(с)&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Аспекты работы gcc -std=c99 (arturpub)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9262.html#19</link>
    <pubDate>Mon, 24 Oct 2011 09:48:38 GMT</pubDate>
    <description>Ладно, ладно, убил.. )) Ты прав, а я нет. Ты крут, а я лох, чмо и мудило.&lt;br&gt;Уж прости, что начал вякать не по теме )))) Давай закроем ее что-ли.&lt;br&gt;&lt;br&gt;2ТС: отдельно извиняюсь, проблема-то хоть решилась?&lt;br&gt;</description>
</item>

<item>
    <title>Аспекты работы gcc -std=c99 (Вова)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9262.html#18</link>
    <pubDate>Mon, 24 Oct 2011 05:37:37 GMT</pubDate>
    <description>&lt;br&gt;&amp;gt;&amp;gt;  Где-то ты увидал этот дефайн, обнаружил что он помогает, но как &lt;br&gt;&amp;gt;&amp;gt; - понять так и не смог.&lt;br&gt;&amp;gt; Этот дефайн, с помощью окружающих #if и #endif, разрешает в инклудах нужные &lt;br&gt;&amp;gt; объявления. Или будешь пугать меня магическими дефайнами?&lt;br&gt;&lt;br&gt;Этот дефайн ты где-то вычитал из сорцов, долго пялился в него, думая, случайно он помог, или &quot;так и надо&quot;. Поэтому ты его закопировал посимвольно, с опаской: &quot;наверное XSI&quot;, и только сейчас в тебе проснулось красноречие. Данные макросы формируют окружение, то есть фактически говорят, именно в данном случае из man 2 mknod: если не задан ни _BSD_SOURCE, ни _SVID_SOURCE и  при этом твой любимый _XOPEN_SOURCE  &amp;lt; 500  - то данная функция работать не будет. Про портабельность - за 10 лет я работал с двумя компиляторами, под десяток платформ, данный макрос - увы и ах, нет, не использовал, не припоминаю. Ни СанСтудио, ни любая инкарнация гцц его не требует - определяет самостоятельно. &lt;br&gt;</description>
</item>

<item>
    <title>Аспекты работы gcc -std=c99 (anonymous)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9262.html#17</link>
    <pubDate>Mon, 24 Oct 2011 01:21:45 GMT</pubDate>
    <description>ТС прости, но я хочу это сделать.&lt;br&gt;&lt;br&gt;&amp;gt; Скорее это ты тут обнаруживаешь незнание того, что такое XSI. Отвечаю развёрнуто. &lt;br&gt;&amp;gt; mknod не может быть никаким &apos;XSI extension&apos;, как ты предполагал в первом &lt;br&gt;&amp;gt; сообщении. Это никакое не расширение апи X/Open System Interface. Мкнод - &lt;br&gt;&amp;gt; это и есть юникс, грубо говоря, сколько лет системе - столько &lt;br&gt;&amp;gt; и ему!&lt;br&gt;&lt;br&gt;Молодец, ГТО. Только речь тут о -std=c99, с коим все слегка не так.&lt;br&gt;&lt;br&gt;&amp;gt; SuS я читал не однократно, и продолжаю &lt;br&gt;&amp;gt; читать, и далеко не первый год, но с потребностью в данном &lt;br&gt;&amp;gt; макросе я сталкиваюсь впервые.&lt;br&gt;&lt;br&gt;Там общей информации чуток, остальная справочная. Чо ты там годами вычитываешь?? )))&lt;br&gt;Потребность в макросе всегда была (опять же при -std=c99).&lt;br&gt;&lt;br&gt;&amp;gt; Но отлично - я погуглил 10 минут, &lt;br&gt;&amp;gt; и теперь знаю больше тебя, и более того - знаю, как &lt;br&gt;&amp;gt; ты написал своё сообщение.&lt;br&gt;&lt;br&gt;Без комментариев...&lt;br&gt;&lt;br&gt;&amp;gt;  Где-то ты увидал этот дефайн, обнаружил что он помогает, но как &lt;br&gt;&amp;gt; - понять так и не смог.&lt;br&gt;&lt;br&gt;Этот дефайн, с помощью окружающих #if и #endif, разрешает в инкл</description>
</item>

<item>
    <title>Аспекты работы gcc -std=c99 (Вова)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9262.html#16</link>
    <pubDate>Sun, 23 Oct 2011 17:54:49 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; Вова, обычно мне кайфолом что-то пересказывать, и я даю ссылки. Пишу это &lt;br&gt;&amp;gt; только ради будущих поколений, что будут читать этот тред, дабы они &lt;br&gt;&amp;gt; не велись на твои бредовые загоны.&lt;br&gt;&amp;gt; Стандарт, который в gcc зовется -std=c99, состоит из нескольких частей. Не каждая &lt;br&gt;&amp;gt; из этих частей обязана поддерживаться системой, чтобы отвечать этому стандарту. То, &lt;br&gt;&amp;gt; с чем вы тут столкнулись, называется XSI. Чтобы его задействовать, надо &lt;br&gt;&amp;gt; в самом начале исходника, т.е. перед инклудами, воткнуть #define _XOPEN_SOURCE 600, &lt;br&gt;&amp;gt; что просто, доступно, идеалистично и теоретично объяснено в последней ссылке.&lt;br&gt;&amp;gt; Срочно читай IEEE Std 1003.1 много раз до просветления или меняй род &lt;br&gt;&amp;gt; занятий, кулхацкер.&lt;br&gt;&lt;br&gt;Скорее это ты тут обнаруживаешь незнание того, что такое XSI. Отвечаю развёрнуто.&lt;br&gt;mknod не может быть никаким &apos;XSI extension&apos;, как ты предполагал в первом сообщении. Это никакое не расширение апи X/Open System Interface. Мкнод - это и есть юникс, грубо говоря, сколько лет системе - столько и ем</description>
</item>

<item>
    <title>Аспекты работы gcc -std=c99 (Вова)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9262.html#15</link>
    <pubDate>Sun, 23 Oct 2011 16:55:07 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; Вова, обычно мне кайфолом что-то пересказывать, и я даю ссылки. Пишу это &lt;br&gt;&amp;gt; только ради будущих поколений, что будут читать этот тред, дабы они &lt;br&gt;&amp;gt; не велись на твои бредовые загоны.&lt;br&gt;&amp;gt; Стандарт, который в gcc зовется -std=c99, состоит из нескольких частей. Не каждая &lt;br&gt;&amp;gt; из этих частей обязана поддерживаться системой, чтобы отвечать этому стандарту. То, &lt;br&gt;&amp;gt; с чем вы тут столкнулись, называется XSI. Чтобы его задействовать, надо &lt;br&gt;&amp;gt; в самом начале исходника, т.е. перед инклудами, воткнуть #define _XOPEN_SOURCE 600, &lt;br&gt;&amp;gt; что просто, доступно, идеалистично и теоретично объяснено в последней ссылке.&lt;br&gt;&amp;gt; Срочно читай IEEE Std 1003.1 много раз до просветления или меняй род &lt;br&gt;&amp;gt; занятий, кулхацкер.&lt;br&gt;&lt;br&gt;Ага, много пафосного текста, и только один момент: где по приведённым ссылкам упоминается стандарт 99?&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Аспекты работы gcc -std=c99 (anonymous)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9262.html#14</link>
    <pubDate>Sun, 23 Oct 2011 12:58:15 GMT</pubDate>
    <description>&amp;gt; Да, очень просто, очень доступно, очень идеалистично, очень теоретично.&lt;br&gt;&lt;br&gt;Вова, обычно мне кайфолом что-то пересказывать, и я даю ссылки. Пишу это только ради будущих поколений, что будут читать этот тред, дабы они не велись на твои бредовые загоны.&lt;br&gt;&lt;br&gt;Стандарт, который в gcc зовется -std=c99, состоит из нескольких частей. Не каждая из этих частей обязана поддерживаться системой, чтобы отвечать этому стандарту. То, с чем вы тут столкнулись, называется XSI. Чтобы его задействовать, надо в самом начале исходника, т.е. перед инклудами, воткнуть #define _XOPEN_SOURCE 600, что просто, доступно, идеалистично и теоретично объяснено в последней ссылке.&lt;br&gt;&lt;br&gt;Срочно читай IEEE Std 1003.1 много раз до просветления или меняй род занятий, кулхацкер.&lt;br&gt;</description>
</item>

<item>
    <title>Аспекты работы gcc -std=c99 (Вова)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9262.html#13</link>
    <pubDate>Sun, 23 Oct 2011 12:51:00 GMT</pubDate>
    <description>&amp;gt; По ссылкам tl;dr? Так и быть, держи еще одну.&lt;br&gt;&amp;gt; http://pubs.opengroup.org/onlinepubs/007904975/functions/xsh_chap02_02.html &lt;br&gt;&lt;br&gt;оффтопик&lt;br&gt;</description>
</item>

<item>
    <title>Аспекты работы gcc -std=c99 (Вова)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9262.html#12</link>
    <pubDate>Sun, 23 Oct 2011 12:47:13 GMT</pubDate>
    <description>&amp;gt;&amp;gt; Розыгрыш коллег с триграфами &apos;??/&apos; ?&lt;br&gt;&amp;gt;   &quot;Я бы этому дяде с большими ушами уши-то пооткрутил.&quot;(с) &lt;br&gt;&lt;br&gt;Да, триграфы были созданы для написания комментария &lt;br&gt; //Why the following line doesn&apos;t work??/&lt;br&gt;&lt;br&gt; мелкомягкий компилятор когда-то их поддерживал молча без предупреждений.&lt;br&gt;</description>
</item>

</channel>
</rss>
