<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: OpenNews: Стандарт по безопасному программированию на языках Си и Си++</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/40660.html</link>
    <description>Готовится к выходу (http://seclists.org/dailydave/2008/q1/0132.html) первая версия неформального стандарта, обобщающего требования и рекомендации по созданию безопасных программ на языке Си - &quot;CERT C Secure Coding Standard (https://www.securecoding.cert.org/confluence/display/seccode/CERT+C+Secure+Coding+Standard)&quot; и Си++ - &quot;CERT C++ Secure Coding Standard (https://www.securecoding.cert.org/confluence/pages/viewpage.action?pageId=637)&quot;. Релиз документа будет выпущен 18 апреля, до этого момента разработчики будут рады выслушать замечания и предложения.&lt;br&gt;&lt;br&gt;&lt;br&gt;Кроме того, можно отметить две ссылки:&lt;br&gt;&lt;br&gt;-   &quot;10 Secure Coding Practices (https://www.securecoding.cert.org/confluence/display/seccode/Top+10+Secure+Coding+PracticesTop)&quot; - десять простых правил для разработчиков безопасного ПО;-  &quot;2007 CERT Research Annual Report Published (http://www.cert.org/research/2007research-report.pdf)&quot; (PDF, 3.5Мб) - достижения CERT в разработке теоретического базиса и инженерных методов по обеспечению безопасности критических си</description>

<item>
    <title>Стандарт по безопасному программированию на языках Си и Си++ (11a)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/40660.html#38</link>
    <pubDate>Tue, 18 Mar 2008 23:37:17 GMT</pubDate>
    <description>&amp;gt;Жуткое решение предлагает автор, такое мог написать разве что школьник, только изучающий &lt;br&gt;&amp;gt; программирование.&lt;br&gt;&lt;br&gt;Полностью не согласен!! Пустые штампы без аргументов&#037;)&lt;br&gt;&lt;br&gt;&amp;gt; Если имеется вероятность переполнения, то куда правильней использовать более &lt;br&gt;&amp;gt;вместительный тип данных,&lt;br&gt;&lt;br&gt;Да, &quot;куда правильней&quot;??&lt;br&gt;&lt;br&gt;&amp;gt; например, если int - это 32 бита, то &lt;br&gt;&amp;gt;функция будет выглядеть так: &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;int avg(int a, int b) &#123; return ((int64)a + (int64)b) / 2; &lt;br&gt;&amp;gt;&#125; &lt;br&gt;&lt;br&gt;Я считаю просто лишние операции на преобразование и вычисление для x86 например.&lt;br&gt;Так а если у нас аргументы сами уже будут avg(long long int a, long long int b) что тогда?? ;))&lt;br&gt;К тому же с переносимостью тоже не всё ясно - С99??&lt;br&gt;&lt;br&gt;На том же сайте обсуждается более эффективый алгоритм.&lt;br&gt;&lt;br&gt;&amp;gt;Однако, на ассемблере можно сделать еще элегантнее с тем же самым типом &lt;br&gt;&lt;br&gt;PS. В тему!! http://www.wasm.ru/article.php?article=onebyte&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Стандарт по безопасному программированию на языках Си и Си++ (Keeper)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/40660.html#37</link>
    <pubDate>Tue, 18 Mar 2008 06:41:47 GMT</pubDate>
    <description>Согласен. Но:&lt;br&gt;1. Смотря какого процессора. На i686 преобразование int &amp;lt;-&amp;gt; double займет лишь несколько тактов.&lt;br&gt;2. В исходной задаче нигде не было сказано, что пользоваться следует только целочисленной арифметикой. ;)&lt;br&gt;</description>
</item>

<item>
    <title>Стандарт по безопасному программированию на языках Си и Си++ (Vital)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/40660.html#36</link>
    <pubDate>Mon, 17 Mar 2008 18:49:26 GMT</pubDate>
    <description>да конечно можно кивать в сторону скорости процессоров, и писать проги в стиле &quot;лижбы работало&quot;, но применять решения с плавающей точкой, там, где все элементарно делается целыми числами, мягко говоря не разумно.. хотя, конечно, у каждого свой взгяд на жизнь...&lt;br&gt;</description>
</item>

<item>
    <title>Стандарт по безопасному программированию на языках Си и Си++ (smb)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/40660.html#35</link>
    <pubDate>Mon, 17 Mar 2008 18:19:14 GMT</pubDate>
    <description>FPU достаточно быстро работает на современных процессорах, не надо ля-ля. Ничуть не медленней АЛУ. На конвертацию да, придётся потратиться...Но я бы стал так писать, если что - ибо пара тактов в нерасчётной задаче абсолютно некритична.&lt;br&gt;</description>
</item>

<item>
    <title>Стандарт по безопасному программированию на языках Си и Си++ (Vital)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/40660.html#34</link>
    <pubDate>Mon, 17 Mar 2008 15:17:00 GMT</pubDate>
    <description>нет не лучше, ибо совсем другие инструкции процессора и совсем другие такты&lt;br&gt;</description>
</item>

<item>
    <title>Стандарт по безопасному программированию на языках Си и Си++ (Vital)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/40660.html#33</link>
    <pubDate>Mon, 17 Mar 2008 15:12:38 GMT</pubDate>
    <description>результат будет верен, ничего не потеряется :)&lt;br&gt;</description>
</item>

<item>
    <title>Стандарт по безопасному программированию на языках Си и Си++ (muxas)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/40660.html#32</link>
    <pubDate>Mon, 17 Mar 2008 13:58:12 GMT</pubDate>
    <description>&amp;gt;C - это инструмент, которым можно либо легко и удобно работать, а &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;&lt;br&gt;зачастую далеко не академические, иногда не поделки, и если до сих пор существуют, значит к ним есть интерес в широких массах... ;-)&lt;br&gt;</description>
</item>

<item>
    <title>Стандарт по безопасному программированию на языках Си и Си++ (аноним)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/40660.html#31</link>
    <pubDate>Mon, 17 Mar 2008 10:35:50 GMT</pubDate>
    <description>&amp;gt;что будет всего 4 с int&lt;br&gt;&lt;br&gt;хотя нет,их ещё и сравнить надо&lt;br&gt;</description>
</item>

<item>
    <title>Стандарт по безопасному программированию на языках Си и Си++ (аноним)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/40660.html#30</link>
    <pubDate>Mon, 17 Mar 2008 10:06:52 GMT</pubDate>
    <description>При умножении на 0.5 происходит автоматическое приведение к типу double. Приведение к int происходит только когда уже вычислено значение выражения, так что  в таком варианте avg(1,1) вернёт 1.&lt;br&gt;&lt;br&gt;Имеем два преобразования int в double, три операции с плавающей точкой, и обратное преобразование double в int. В варианте из статьи имеет два вычисления знака int, один переход и две операции с int( вычисление знака тоже можно сюда отнести, так что будет всего 4 с int и один if). &lt;br&gt;</description>
</item>

</channel>
</rss>
