The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

30.09.2015 03:42  Разработанное в Microsoft приложение "K" предложено к удалению из стандарта C11

Компания Red Hat инициировала процесс удаления приложения "K" в следующей версии стандарта языка Си. Приложение K было добавлено в нынешний стандарт C11 и включает разработанный компанией Microsoft набор функций "*_s" с интерфейсом для проверки границ буферов. Проблема состоит в том, что данный интерфейс был добавлен в стандарт под давлением "спонсора" без предварительной проверки на практике.

В итоге, недоработки архитектуры данного механизма и проблемы, всплывшие при попытках создания практических реализаций, привели к тому, что данный интерфейс на практике нигде не реализован и не применяется, в том числе не поддерживается библиотеками Си (приложение К относится к опциональным возможностям).

  1. Главная ссылка к новости (http://www.open-std.org/jtc1/s...)
  2. OpenNews: Опубликован новый международный стандарт для языка Си (C1X/C11)
  3. OpenNews: Спецификация C++0X принята в качестве международного стандарта C++11
  4. OpenNews: В Clang доведена до готовности поддержка стандарта C++11 и приняты патчи для пересборки ядра Linux
  5. OpenNews: Обзор предложений для включения в состав стандарта C++14
Лицензия: CC-BY
Тип: Тема для размышления
Ключевые слова: c11
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аноним, 08:38, 30/09/2015 [ответить] [смотреть все]
  • +8 +/
    Этот чудософт удивляет. То они поносят Си как могут, то свои фичи туда пытаются запилить. Какие-то непоследовательные.
     
     
  • 2.2, x0r, 08:47, 30/09/2015 [^] [ответить] [смотреть все] [показать ветку]
  • +7 +/
    вы так говорите, как будто завязывание на VS с С++
    и пропаганда C# - вещи которые мешают друг другу
     
  • 2.5, Michael Shigorin, 09:17, 30/09/2015 [^] [ответить] [смотреть все] [показать ветку]
  • +17 +/
    > Этот чудософт удивляет. То они поносят Си как могут, то свои фичи
    > туда пытаются запилить. Какие-то непоследовательные.

    Вполне последовательные -- как по ссылке и пишут:

    ---
    [...] of a "sponsor" that has no interest in actually implementing the standard
    and who has done nothing but try to undermine the C language for the past 20+ years
    --- https://sourceware.org/ml/libc-alpha/2014-08/msg00151.html

    Typical Microsoft (c)

     
  • 2.60, Джо, 09:33, 02/10/2015 [^] [ответить] [смотреть все] [показать ветку]
  • –1 +/
    Скорее redhat удивляет, пусть предложат альтернативу хотя бы Маинтейнеры glibc ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.61, Michael Shigorin, 12:35, 02/10/2015 [^] [ответить] [смотреть все]  
  • –1 +/
    > Короче

    Нет.  Читайте внимательно по ссылке.

     
     
  • 4.62, Джо, 16:16, 02/10/2015 [^] [ответить] [смотреть все]  
  • –1 +/
    Ну что нет Из предложенных альтернатив там только инструментация и статический ... весь текст скрыт [показать]
     
  • 1.3, iPony, 08:58, 30/09/2015 [ответить] [смотреть все]  
  • –2 +/
    Так а что использовать то?
    Вот хочу strcpy написать и как теперь best practice?
     
     
  • 2.4, anon4ik, 09:02, 30/09/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +7 +/
    strncpy, не? У bsd еще strlcpy. Но все это не замена предложенному MS, а замена strcpy.
     
     
  • 3.7, Michael Shigorin, 09:20, 30/09/2015 [^] [ответить] [смотреть все]  
  • –6 +/
    Насколько понимаю, ещё в Owl ну и в альте издавна http packages altlinux org... весь текст скрыт [показать]
     
     
  • 4.24, qwert, 13:11, 30/09/2015 [^] [ответить] [смотреть все]  
  • –3 +/
    да, альт просто технологический лидер
     
     
  • 5.27, chinarulezzz, 14:50, 30/09/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    это аргумент для менеджеров, разве что.
     
  • 5.35, Аноним, 17:38, 30/09/2015 [^] [ответить] [смотреть все]  
  • +/
    слишком толсто
     
  • 5.51, count0krsk, 15:04, 01/10/2015 [^] [ответить] [смотреть все]  
  • –1 +/
    Зато своё, а не в пиндостане расположенное Когда начнётся писец по настоящему, ... весь текст скрыт [показать]
     
     
  • 6.56, Аноним, 23:17, 01/10/2015 [^] [ответить] [смотреть все]  
  • +/
    Ядро линукса и железо x86 разработано в Пиндостане.
     
     
  • 7.58, pavlinux, 01:46, 02/10/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    Да ты чо, а всё думали что в Linux в Финляндии, а Intel в Ирландии.  
     
     
  • 8.66, Яро Ш. Я., 22:23, 02/10/2015 [^] [ответить] [смотреть все]  
  • +/
    >Да ты чо, а всё

    Жителей сраней-эрзяней это ещё не все, так то!

     
  • 3.10, Аноним, 09:39, 30/09/2015 [^] [ответить] [смотреть все]  
  • +/
    Размер выхода за границы буфера на 171 молчаливое 187 обрезание строки, кото... весь текст скрыт [показать]
     
     
  • 4.11, Аноним, 09:39, 30/09/2015 [^] [ответить] [смотреть все]  
  • +/
    s Размер Размен... весь текст скрыт [показать]
     
  • 4.45, Ytch, 00:26, 01/10/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    Так а предлагаемое ещё опасней в некоторых случаях См по одной из ссылок про н... весь текст скрыт [показать]
     
  • 4.50, dq0s4y71, 14:31, 01/10/2015 [^] [ответить] [смотреть все]  
  • –1 +/
    Именно так в Си и должно быть Чтобы быть уверенным, что код делает только то, ч... весь текст скрыт [показать]
     
  • 2.6, Аноним, 09:18, 30/09/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    best practice это использовать например µstr http://www.and.org/ustr/
     
     
  • 3.8, Аноним, 09:24, 30/09/2015 [^] [ответить] [смотреть все]  
  • +/
    Костыли и велосипеды
     
     
  • 4.15, chinarulezzz, 11:23, 30/09/2015 [^] [ответить] [смотреть все]  
  • +13 +/
    Костыли и велосипеды - это реализация строк на Си.
     
     
  • 5.52, count0krsk, 15:22, 01/10/2015 [^] [ответить] [смотреть все]  
  • –1 +/
    Люто, бешено плюсую В мой юный студенческий мозг в своё время никак не помеща... весь текст скрыт [показать]
     
     
  • 6.59, Ytch, 03:12, 02/10/2015 [^] [ответить] [смотреть все]  
  • +/
    Даже намекает, что в Си, якобы, так нельзя ... весь текст скрыт [показать]
     
  • 6.67, Яро Ш. Я., 22:24, 02/10/2015 [^] [ответить] [смотреть все]  
  • +/
    >понять и принять это было сложно после Паскаля

    хреново ты знал паскаль

     
  • 5.53, dq0s4y71, 16:42, 01/10/2015 [^] [ответить] [смотреть все]  
  • +/
    Те, кто использует Си в качестве языка обработки текста, должны страдать.
     
     
  • 6.54, chinarulezzz, 19:45, 01/10/2015 [^] [ответить] [смотреть все]  
  • –1 +/
    > реализация строк
    > в качестве языка обработки текста

    хорошо натянул.


     
  • 6.55, serg, 21:14, 01/10/2015 [^] [ответить] [смотреть все]  
  • +/
    Git?
     
  • 6.68, Яро Ш. Я., 22:25, 02/10/2015 [^] [ответить] [смотреть все]  
  • +/
    Страдай, я разрешаю
     
  • 2.12, Аноним, 09:59, 30/09/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    snprintf
     
     
  • 3.31, Тузя, 16:30, 30/09/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    Медленно!
     
  • 1.9, Анонимус Сапиенс, 09:29, 30/09/2015 [ответить] [смотреть все]  
  • –4 +/
    Что можно ожидать от конторы, в которой указатели прячут в макросы.
     
     
  • 2.17, Andrey Mitrofanov, 11:31, 30/09/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Не благодари l ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.23, Аноним, 12:33, 30/09/2015 [^] [ответить] [смотреть все]  
  • +/
    Честно они мне напоминают, рукожопых что ли Нокия вроде норм мобилки были, но э... весь текст скрыт [показать]
     
     
  • 4.33, Аноним, 17:10, 30/09/2015 [^] [ответить] [смотреть все]  
  • +3 +/
    Шизофазия.
     
  • 4.36, dr Equivalent, 17:39, 30/09/2015 [^] [ответить] [смотреть все]  
  • +6 +/
    Микрософт - это как царь Мидас наоборот. Все к чему он прикасается, превращается в безжизненное, посредственное, ненужное, безысходное говно.
    Нокия была прекрасной компанией. Подотстала одно время, увлекшись симбианом, но N900 и N9 (вернее даже, может быть, ветыь развития Maemo-MeeGo) были вещами прорывными, и при должной поддержке платформы у нас бы на мобильном рынке было не два игрока, а три. А потом пришел Микрософт.
    Вон скупе - когда-то даже p2p был.
     
     
  • 5.37, клоун, 18:30, 30/09/2015 [^] [ответить] [смотреть все]  
  • –2 +/
    У вас хронология события нарушена Motorola, Nokia и Blackberry, получив некую п... весь текст скрыт [показать]
     
     
  • 6.42, Michael Shigorin, 20:46, 30/09/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    Когда доведётся копать за еду, так и скажете -- взял Элопа на работу И не спр... весь текст скрыт [показать]
     
  • 4.46, Ytch, 00:53, 01/10/2015 [^] [ответить] [смотреть все]  
  • +2 +/
    Офигенная вещь Как раз недавно мозг попарила Есть у меня одна маленькая, несл... весь текст скрыт [показать]
     
     
  • 5.57, fox_mulder, 23:59, 01/10/2015 [^] [ответить] [смотреть все]  
  • –1 +/
    вот так кулстори!
     
  • 1.13, Аноним, 10:18, 30/09/2015 [ответить] [смотреть все]  
  • +/
    Интереснее было бы послушать про реализацию multi-threaded части стандарта C11 ... весь текст скрыт [показать]
     
     
  • 2.18, Andrey Mitrofanov, 11:42, 30/09/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Нудк, напишут ещё новость, мол, спонсированный Майкрософтом необязательный к исп... весь текст скрыт [показать] [показать ветку]
     
  • 1.14, Аноним, 11:21, 30/09/2015 [ответить] [смотреть все]  
  • –6 +/
    почитал оригинальный тред Насчет отсутствия реализаций - вранье как минимум ес... весь текст скрыт [показать]
     
     
  • 2.19, Аноним, 11:43, 30/09/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Ну давай, расскажи нам, как писать thread-safe код с глобальными переменными ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.25, Аноним, 13:19, 30/09/2015 [^] [ответить] [смотреть все]  
  • –1 +/
    https://code.google.com/p/slibc/
     
  • 2.20, Вареник, 11:51, 30/09/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    хорошо что какой-нибудь _fastcall __dllcall не втиснули
     
  • 2.21, Аноним, 12:11, 30/09/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    > оператора new и кастомных аллокаторов.

    а причём тут microsoft?

     
  • 2.22, Аноним, 12:32, 30/09/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +9 +/
    > Насчет отсутствия реализаций - вранье (как минимум есть MSVC)

    А теперь давай вместе почитаем что же там в действительности написано:

    Despite the specification of the APIs having been around for over a decade only a handful of implementations exist with varying degrees of completeness and conformance.

    Microsoft Visual Studio implements an early version of the APIs. However, the implementation is incomplete and conforms neither to C11 nor to the original TR 24731-1.

     
     
  • 3.26, клоун, 14:04, 30/09/2015 [^] [ответить] [смотреть все]  
  • –5 +/
    А теперь выдели из написанного доказанные утверждения и личное мнение автора Вн... весь текст скрыт [показать]
     
     
  • 4.29, Нимано, 16:10, 30/09/2015 [^] [ответить] [смотреть все]  
  • +/
    Чей компилятор VS в 2011 году не поддерживал с99 Типа, классическое опеннетное ... весь текст скрыт [показать]
     
  • 4.32, Michael Shigorin, 17:06, 30/09/2015 [^] [ответить] [смотреть все]  
  • +/
    s предложен подложен ... весь текст скрыт [показать]
     
  • 4.43, Аноним, 21:38, 30/09/2015 [^] [ответить] [смотреть все]  
  • +/
    Даже если это так - я лично поддерживаю всеми руками и ногами чтобы исключали и ... весь текст скрыт [показать]
     
  • 4.48, Ordu, 11:23, 01/10/2015 [^] [ответить] [смотреть все]  
  • +/
    Зенки протри Или к окулисту сходи Ну на самом деле твои проблемы со зрением -... весь текст скрыт [показать]
     
  • 1.28, Аноним, 15:10, 30/09/2015 [ответить] [смотреть все]  
  • +3 +/
    чья implementation is incomplete Это примерно как с OpenXML ... весь текст скрыт [показать]
     
  • 1.34, Тузя, 17:17, 30/09/2015 [ответить] [смотреть все]  
  • +2 +/
    Все эти _s функции, на самом деле мертвому припарок, всегда им были им же и останутся! Они не добавляют защищенности, они добавляют кучу лишнего кода. Как минимум, они добавляют кучу проверок, которые можно сделать, не меняя синтаксис стандартных функций, вполне самостоятельно. Ради интереса попробуйте перенести любую С-программу в их студию и переделать на _s. Там с ума сойти сколько переписывать, смысла нет. Так эти наглецы еще и показывают предупреждения и ошибки нагло навязывая использовать эти ненужные _s. Чтобы переключиться на нормальное поведение? там какую-то еще коyстанту надо пропихнуть компилятору, чтобы он прекратил этот кошмар!

    Непонятно, почему это вообще впихнули в стандарт, благо, это лишь необязательное приложение.

     
     
  • 2.44, Аноним, 23:31, 30/09/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Особенно феерично смотрятся _s-версии функций, которые и так принимают размер це... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.47, Ytch, 01:17, 01/10/2015 [^] [ответить] [смотреть все]  
  • +/
    > Особенно феерично смотрятся _s-версии функций, которые и так принимают размер целевого
    > буфера (например, snprintf). Казалось бы, если уже есть параметр, позволяющий избежать
    > переполнение буфера, зачем добавлять ещё один с точно такой же целью?

    Так в новых функциях есть ещё некий умолчальный обработчик runtime-constraints, который по стандарту(!): "The behavior of the default handler is implementation-defined, and it may
    cause the program to exit or abort." Не отказаться выполнять небезопасное действие, не вернуть ошибку, а имеет законное право обрушить программу! И этот обработчик один на всё! Можно задать свой, но он тоже будет один на все вызовы (из всех используемых библиотек и потоков)! Какой уж тут здравый смысл...

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor