<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: На базе Clang для языка Си реализован режим проверки границ буферов</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/135850.html</link>
    <description>Инженеры из компании Apple объявили о готовности для тестирования режима &quot;-fbounds-safety&quot; для компилятора Clang, предоставляющего гарантии безопасной работы с буферами в коде на языке Си. Режим включён в состав форка LLVM, поддерживаемого компанией Apple для проекта Swift. В дальнейшем запланирована постепенная передача функциональности &quot;-fbounds-safety&quot; в основную кодовую базу LLVM/Clang...&lt;br&gt;&lt;br&gt;Подробнее: https://www.opennet.ru/opennews/art.shtml?num=62606&lt;br&gt;</description>

<item>
    <title>На базе Clang для языка Си реализован режим проверки границ ... (Аноним)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/135850.html#314</link>
    <pubDate>Tue, 04 Feb 2025 09:23:49 GMT</pubDate>
    <description>Не совсем понимаю, а чем хуже собрать код для дебага и тестов с asat, а в релиз пустить максимально быстро работающую версию без проверок? Для чего проверки прибивать гвоздями?&lt;br&gt;</description>
</item>

<item>
    <title>На базе Clang для языка Си реализован режим проверки границ ... (Аноним)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/135850.html#313</link>
    <pubDate>Thu, 30 Jan 2025 01:41:55 GMT</pubDate>
    <description>Ты тратишь время впустую, объясняя мне это. Я сосчитать не могу сколько раз я находил такие объяснения и читал их, но я так и не смог запомнить. Самый простой способ, это написать код, который работает с таким указателем, меняя и его и то, что он адресует, а потом, компилируя с -Wall, подобрать места для const так, чтобы компилятор варнинги бы кидал на нужные строки.&lt;br&gt;</description>
</item>

<item>
    <title>На базе Clang для языка Си реализован режим проверки границ ... (Проходил мимо)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/135850.html#312</link>
    <pubDate>Wed, 29 Jan 2025 10:43:19 GMT</pubDate>
    <description>Пипец.&lt;br&gt;Ваша фраза &quot;При условии что count меньше или равен sizeof(*buf)&quot; меня просто убила.&lt;br&gt;&lt;br&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br&gt;#define BUF_SIZE    16&lt;br&gt;int  main( int argc, char* argv&#091;&#093; )&lt;br&gt;&#123;&lt;br&gt;    int buf&#091;BUF_SIZE&#093;;&lt;br&gt;    printf(&quot;Размер буфера по версии Ivan_83: &#037;u&#092;n&quot;, sizeof(*buf));&lt;br&gt;    printf(&quot;Реальный размер буфера: &#037;u&#092;n&quot;, sizeof(buf));&lt;br&gt;    return  0;&lt;br&gt;&#125;&lt;br&gt;Результат работы программы:&lt;br&gt;Размер буфера по версии Ivan_83: 4&lt;br&gt;Реальный размер буфера: 64&lt;br&gt;&lt;br&gt;Обычная ошибка, с кем не бывает, правильно?&lt;br&gt;Я не буду издеваться и просить предъявить программу с такой же ошибкой на Rust. Просто хочу сказать, что использование итераторов от подобных вещей отлично защищает.&lt;br&gt;</description>
</item>

<item>
    <title>На базе Clang для языка Си реализован режим проверки границ ... (Проходил мимо)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/135850.html#311</link>
    <pubDate>Wed, 29 Jan 2025 10:26:04 GMT</pubDate>
    <description>Я - то самое мифическое существо. Когда пишу на Си/Си++ то у меня большая часть кода - это разного рода проверки и развернутая обработка ошибок.&lt;br&gt;</description>
</item>

<item>
    <title>На базе Clang для языка Си реализован режим проверки границ ... (Проходил мимо)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/135850.html#310</link>
    <pubDate>Wed, 29 Jan 2025 10:20:41 GMT</pubDate>
    <description>В чем-то вы правы, но практика показывает, что плохие программисты пишут плохие программы, а компилятор Rust ни в какую такие программы не хочет компилировать. Поэтому можно смело утверждать, что Rust выступает неким фильтром говнокода.&lt;br&gt;</description>
</item>

<item>
    <title>На базе Clang для языка Си реализован режим проверки границ ... (Проходил мимо)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/135850.html#309</link>
    <pubDate>Wed, 29 Jan 2025 10:14:38 GMT</pubDate>
    <description>При всем уважении, хотел бы напомнить, что в Расте ленивые итераторы, map не будет сама по себе потреблять значение и enumerate() в таком виде, как вы написали, не будет работать с буфером типа int (i32) из-за типа, поэтому есть мнение, что ваш пример требуется немного переделать. Например так:&lt;br&gt;&lt;br&gt;const   BUF_SIZE: usize = 16;&lt;br&gt;fn  main()&lt;br&gt;&#123;&lt;br&gt;    let mut buf: &#091;i32; BUF_SIZE&#093; = &#091;0; BUF_SIZE&#093;;&lt;br&gt;    //  адаптер итератора enumerate() возвращает кортеж из usize и элемента коллекции&lt;br&gt;    //  поэтому потребуется приведение типа&lt;br&gt;    buf.iter_mut().enumerate().for_each(&amp;#124;(n,val)&amp;#124; *val = n as i32 );&lt;br&gt;    println!(&quot;&#123;:?&#125;&quot;, buf);&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;Вот это уже рабочий код. Результат работы таков:&lt;br&gt;&#091;0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15&#093;&lt;br&gt;</description>
</item>

<item>
    <title>На базе Clang для языка Си реализован режим проверки границ ... (Совершенно другой аноним)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/135850.html#308</link>
    <pubDate>Tue, 28 Jan 2025 06:38:21 GMT</pubDate>
    <description>&amp;gt; Причём здесь сообщения компилятора, до существования прямо в стандарте ЯП UB?&lt;br&gt;&lt;br&gt;А, ну да, простите, забыл, у Rust ведь нет стандарта..&lt;br&gt;</description>
</item>

<item>
    <title>На базе Clang для языка Си реализован режим проверки границ ... (Аноним)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/135850.html#307</link>
    <pubDate>Tue, 28 Jan 2025 02:25:40 GMT</pubDate>
    <description>&amp;gt; У меня контроллер станка, каждый цикл на счету.&lt;br&gt;&lt;br&gt;Из прошлого века? Из позапрошлого? Восьмибитный ещё небось? Перфокартами программируешь?&lt;br&gt;&lt;br&gt;&amp;gt; Мое мнение, мир со своими умными вещами свернул не туда.&lt;br&gt;&lt;br&gt;Он не сворачивал, просто так выходит, что сегодня 32-х битный контроллер с десятками мегагерц тактовой частоты стоит не дороже восьмибитного. И поэтому попытки использовать восьмибитные выглядят как искусственные ограничения себя, мол, давайте привяжем к ногам гири, и покажем всему миру что мы даже так можем бегать.&lt;br&gt;&lt;br&gt;И такое положение дел -- естественное следствие развития технологий, процессоры становятся дешевле, и со временем их стоимость приближается к стоимости песка, из которого их делают, а как следствие сэкономить выбором более ущербных процессоров становится всё сложнее.&lt;br&gt;</description>
</item>

<item>
    <title>На базе Clang для языка Си реализован режим проверки границ ... (Прохожий)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/135850.html#306</link>
    <pubDate>Tue, 28 Jan 2025 00:32:54 GMT</pubDate>
    <description>Причём здесь сообщения компилятора, до существования прямо в стандарте ЯП UB? &lt;br&gt;</description>
</item>

</channel>
</rss>
