The OpenNET Project / Index page

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



"Выпуск cppcheck 2.12, статического анализатора кода для языков C++ и С"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск cppcheck 2.12, статического анализатора кода для языков C++ и С"  +/
Сообщение от opennews (??), 15-Сен-23, 21:59 
Вышла новая версия статического анализатора кода cppcheck 2.12, позволяющего выявлять различные классы ошибок в коде на языках Си и Си++, в том числе при использовании нестандартного синтаксиса, типичного для встраиваемых систем. Предоставляется коллекция плагинов, через которые обеспечена интеграция cppcheck  с различными системами разработки, непрерывной интеграции и тестирования, а также предоставлены такие возможности как проверка соответствия кода стилю оформления кода. Для разбора кода может применяться как собственный парсер, так и внешний парсер...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=59764

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +2 +/
Сообщение от Аноним (1), 15-Сен-23, 21:59 
Кто-то использовал? Мнение?
Ответить | Правка | Наверх | Cообщить модератору

2. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  –4 +/
Сообщение от Аноним (2), 15-Сен-23, 22:16 
Smatch на 2 головы полезнее.
Ответить | Правка | Наверх | Cообщить модератору

24. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (24), 16-Сен-23, 00:53 
ты вот это васяноподелие пытаешься рекламировать?

https://github.com/error27/smatch

туда твой однострочный PR приняли? эйфория?

Ответить | Правка | Наверх | Cообщить модератору

29. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  –3 +/
Сообщение от Аноним (2), 16-Сен-23, 01:06 
Сам ты васяноподелие. Буквально. А сообщения там куда полезней были, цппчек ничего не видел.
Ответить | Правка | Наверх | Cообщить модератору

9. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +11 +/
Сообщение от warlock66613 (ok), 15-Сен-23, 22:49 
Мнение: любой статический анализатор лучше отсутствия статического анализатора.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

15. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  –3 +/
Сообщение от Аноним (15), 15-Сен-23, 23:29 
Исправлять надо причину появление ошибок, а не вылавливать их как блох уже после того как они появились.
Ответить | Правка | Наверх | Cообщить модератору

17. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +8 +/
Сообщение от Аноним (17), 15-Сен-23, 23:51 
Вот так и напиши в своём заявлении по собственному.
Ответить | Правка | Наверх | Cообщить модератору

18. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  –12 +/
Сообщение от Аноним (15), 15-Сен-23, 23:55 
Я не пользуюсь дырявыми языками родом из 50-х.
Ответить | Правка | Наверх | Cообщить модератору

22. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от _kpemail (ok), 16-Сен-23, 00:05 
Соответственно с микроконтроллерами не работаете, производительные модули не используете, про драйвера молчу.
Задачи то разные бывают.
Десктопное приложение и я на С++ добровольно писать не стану.
Ответить | Правка | Наверх | Cообщить модератору

28. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +3 +/
Сообщение от Аноним (28), 16-Сен-23, 01:01 
Electron гуру? JS сенсей? CSS будда?
Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

46. Скрыто модератором  +1 +/
Сообщение от Аноним (-), 16-Сен-23, 09:17 
Ответить | Правка | Наверх | Cообщить модератору

47. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +5 +/
Сообщение от Первая буква (?), 16-Сен-23, 09:18 
Микрософт Ворд печатник.
Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

122. Скрыто модератором  +/
Сообщение от Аноним (-), 17-Сен-23, 10:08 
Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

134. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (134), 17-Сен-23, 11:58 
>Я не пользуюсь дырявыми языками родом из 50-х.

Напиши это в резюме и выдели жирным.

Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

186. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (15), 18-Сен-23, 20:54 
Всегда так делаю.
Ответить | Правка | Наверх | Cообщить модератору

19. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от Аноним (19), 15-Сен-23, 23:56 
> Исправлять надо причину появление ошибок, а не вылавливать их как блох уже
> после того как они появились.

Ну да, нужно просто начать писать код без ошибок. Делов-то.

Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

73. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +2 +/
Сообщение от Аноним (73), 16-Сен-23, 17:00 
Или использовать известный безопасный язык со строгим конпелятором.
Ответить | Правка | Наверх | Cообщить модератору

132. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (134), 17-Сен-23, 11:51 
То есть Crab.
Ответить | Правка | Наверх | Cообщить модератору

21. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от _kpemail (ok), 16-Сен-23, 00:02 
Есть ещё мелкие опечатки, описки, которые компилятор в вполне скомпилирует, а анализатор может на подобное выдать сообщение.
Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

144. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (144), 17-Сен-23, 13:35 
> Исправлять надо причину появление ошибок

Так можно и в протворечие с резолюции 260 (III) запросто войти.

Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

20. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от _kpemail (ok), 16-Сен-23, 00:00 
Если самосборный использовать, подавив лишниее сообщения, то вполне полезен, и не раздражает, а в стоковом виде среди спама заметить что то подозрительное мало реально.
А ключами не все управляемо, сразу весь тип проверок или включается или выключается.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

25. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от Аноним (24), 16-Сен-23, 00:56 
а грепнуть лишнее не вариант?
Ответить | Правка | Наверх | Cообщить модератору

30. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от _kpemail (ok), 16-Сен-23, 01:20 
> а грепнуть лишнее не вариант?

Можно, если любите длинные выражения писать, и нужно если ещё и любите их потом править.
И в награду будет ощутимое снижение компиляции.

А более по делу, есть еще атрибуты, на которые cppcheck забивает, и выдаёт спам. Но в этом случае вывод то нефильтуем никаким грипом. И можно или вырезать всё или оставить всё.
Туда же, в cppcheck,врезается и список исключений на имена, конструкции с которыми лучше игнорировать.
Ну, Си используется для микроконтроллеров, и тамошние трюки он в шоке.


Ответить | Правка | Наверх | Cообщить модератору

33. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (-), 16-Сен-23, 02:22 
> Ну, Си используется для микроконтроллеров, и тамошние трюки он в шоке.

Фирмару надо нормально писать - тогда оки все. Я проверял - у меня практически без варнингов, кроме разве что bug-hunting mode получается. А за трюки в критичном софте - воздается. Жесткими фэйлами. У него bug-hunting - это exploratory mode когда можно получить сообщения которые не проблема, но могут и быть проблемой.

И если фильтровать вывод анализера - вы как раз баги и пролюбите. Код надо фиксить, а не...

Ответить | Правка | Наверх | Cообщить модератору

36. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от _kpemail (ok), 16-Сен-23, 03:09 
> Фирмару надо нормально писать
> у меня практически без варнингов

Я не Ардуины, а о более реальных крупных проектах для микроконтроллеров.
От компилятора то варнингов и нет, они или хинты есть от cppcheck, и часто грубо не по делу, то есть спам.

> И если фильтровать вывод анализера - вы как раз баги и пролюбите.

Не думае те же Вы, что cppcheck святее Папы Римского? Нет конечно. Но дополнительную проверку делает.
И особенно полезен, когда часть кода писал не сам.

> Код надо фиксить, а не...

Да ну? Атрибуты убрать? В embedded это даёт заметный сразу эффект ;)
Или аппаратные фичи не использовать, потому что анализатор о них понятия не имеет?

А на обычное десктопное ПО анализатор в идеале ругаться не должен, ибо на подобных исходниках и тестировался.

Ответить | Правка | Наверх | Cообщить модератору

81. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от Аноним (-), 16-Сен-23, 17:44 
> Я не Ардуины, а о более реальных крупных проектах для микроконтроллеров.

У ардуины код крупный как раз - 100500 либ и черт его знает что там про них чекер говорит. А то что вы развели г@вна в проекте - мало ли, может слава Тойоты вам покоя не дает.

> От компилятора то варнингов и нет, они или хинты есть от cppcheck,
> и часто грубо не по делу, то есть спам.

Если кодить используя приемы antibug coding и придерживаться идей близких к MISRA, тогда большая часть варнингов от сабжа вполне полезные. Да и компилеры вы небось юзаете столь же разухабисто. Хотя-бы -Wconversion ваш супер-код переживает без варнингов? Компилера, ага. Если мало - дайте все ключи из бложика Cyan хотя-бы.

>> И если фильтровать вывод анализера - вы как раз баги и пролюбите.
> Не думае те же Вы, что cppcheck святее Папы Римского? Нет конечно.

Видел я что эти святоши вытворяют, и заманался чинить уже. Так что нет, аргумент не котируется.

> Но дополнительную проверку делает. И особенно полезен, когда часть кода писал не сам.

Да и самого себя проверить лишний раз совершенно не лишне. Си такая штука что клювом клацать не стоит. Особенно если уже подустал и проч - можно и протупить случайно.

>> Код надо фиксить, а не...
> Да ну? Атрибуты убрать? В embedded это даёт заметный сразу эффект ;)

Что-то не помню чтобы сабж сильно пиндел на атрибуты. Ну и да, совсем убрать их конечно не получится.

> Или аппаратные фичи не использовать, потому что анализатор о них понятия не имеет?

А в каком месте анализатор вообще на вот именно аппаратные фичи сами по себе возбухает?

> А на обычное десктопное ПО анализатор в идеале ругаться не должен, ибо
> на подобных исходниках и тестировался.

Да он и на эмбедовке довольно прилично работает. Если не выделываться с трюкачеством, за что воздается. Например тем что соседний кодер трюкачество не понял или понял неверно.

Ответить | Правка | Наверх | Cообщить модератору

66. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от penetrator (?), 16-Сен-23, 14:11 
когда у тебя на 1 ошибку 10000 бесполезных советов, то такой статический анализатор это геморой и явно НЕ дейли инструмент
Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

82. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  –1 +/
Сообщение от Аноним (-), 16-Сен-23, 17:48 
> когда у тебя на 1 ошибку 10000 бесполезных советов, то такой статический
> анализатор это геморой и явно НЕ дейли инструмент

Или как вариант - д@рьмовый кодер, возомнивший себя самой умной клавой на глобусе. С сишкой это почему-то очень часто случается. И потом у таких в коде куча CVE и просто багов. А когда суперкод начинают тыкать палочкой - вооооон там майнтайнер XFS с такого счастья сбежал в панике, за такими кодерами разгребать устал как раз.

Ответить | Правка | Наверх | Cообщить модератору

89. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  –1 +/
Сообщение от Анонин (?), 16-Сен-23, 18:40 
> С сишкой это почему-то очень часто случается.

О, так это их стандартное поведение. Они же типа ылитка))
А потом начинается или "это неправильный сишник, настоящий бы так никогда не написали", или "не, ну все так ошибаются, а что вы хотели??"

Ответить | Правка | Наверх | Cообщить модератору

109. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (-), 16-Сен-23, 21:27 
>> С сишкой это почему-то очень часто случается.
> О, так это их стандартное поведение. Они же типа ылитка))
> А потом начинается или "это неправильный сишник, настоящий бы так никогда не
> написали", или "не, ну все так ошибаются, а что вы хотели??"

Ну вот я немного подустал за ними править отрицательные индексы, левую математику и полный похрен на проверку аргументов на входе - и имею заметить что смертные как-то не очень хорошо овладели инструментом богов. Откуда вон те сомнения. Даже матерый олд иногда может створить полнейшую хрень. И поэтому совсем не лишне если инструмент подстрахует подсветив подозрительный код.

Ответить | Правка | Наверх | Cообщить модератору

133. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (134), 17-Сен-23, 11:56 
Устал - гоу на пенсию, нытик-неосилятор. Пылинку в чужом коде все горазды заметить, покажи свой код.
Ответить | Правка | Наверх | Cообщить модератору

152. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от Аноним (-), 17-Сен-23, 16:41 
> Устал - гоу на пенсию, нытик-неосилятор. Пылинку в чужом коде все горазды

Ну если buffer overrun при определенных аргументах, или факап в математике выдающей левак - пылинка, я уж боюсь себе представить что у вас крупнее. Полное стирание флехи с фирмварью чтоли, без предупреждений? Сигейты 7200.11 одобряют.

> заметить, покажи свой код.

Я его регулярно сабжу и показываю. И не имею особых проблем с ним :). А вы можете покупать сигейты 7200.11 и ездить на непатченой тойоте, там как раз пылинок - есть.

Ответить | Правка | Наверх | Cообщить модератору

155. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от т1110втфатф1110 (?), 17-Сен-23, 17:08 
Сразу видно человека который фирмварь никогда не писал, иначе знал бы что hardware сишники, кроме костылей и велосипедов никогда ничего не пишут, потому что те кто разрабатывают железо, делают его через задницу, и вот эту задницу нужно подтирать софтом.
Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

158. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (158), 17-Сен-23, 18:11 
💯 пудов.

особенно такое проявляется конда и "платку сам разводил и фирмварю сам писал"

Ответить | Правка | Наверх | Cообщить модератору

59. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (24), 16-Сен-23, 13:12 
зачем мне писать и править длинные выражения, что такое выражени, что такое снижение компиляции?

короче, я этот набор слов с рандомными запятыми не распарсил

Ответить | Правка | К родителю #30 | Наверх | Cообщить модератору

117. Скрыто модератором  +/
Сообщение от C00l_ni66a (ok), 17-Сен-23, 04:16 
Ответить | Правка | Наверх | Cообщить модератору

32. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +3 +/
Сообщение от Аноним (-), 16-Сен-23, 02:19 
> Кто-то использовал? Мнение?

Вполне работоспособная и полезная штука, подтянула качество кода моим проектам и выловилось несколько проблемных мест. Вполне себе аргумент "за".

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

119. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +2 +/
Сообщение от Мда (?), 17-Сен-23, 08:53 
Из бесплатных - лучший. Но полное г. по сравнению с платными.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

3. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Хосе (?), 15-Сен-23, 22:23 
быстро развивается
Ответить | Правка | Наверх | Cообщить модератору

10. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  –8 +/
Сообщение от Аноним (15), 15-Сен-23, 22:57 
Сначала слепили дврявый язык, а теперь думают как избавить код от ошибок 🤣
Ответить | Правка | Наверх | Cообщить модератору

56. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +3 +/
Сообщение от Аноним (56), 16-Сен-23, 10:40 
Другие написали точно такой же дырявый язык и пытаются всем внушить что он не дырявый. 🤣
Ответить | Правка | Наверх | Cообщить модератору

74. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от Аноним (73), 16-Сен-23, 17:02 
Пруфы дырок будут или только газификации луж
Ответить | Правка | Наверх | Cообщить модератору

135. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (134), 17-Сен-23, 12:03 
>Сначала слепили дврявый язык, а теперь думают как избавить код от ошибок

Ждем пруфы дырок.

Ответить | Правка | Наверх | Cообщить модератору

11. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (11), 15-Сен-23, 23:03 
Именно поэтому Раст не нужен. Пока проблемы решаются через анализаторы кода, отдельное решение, не совместимое с прежней кодовой базой, не нужно.
Ответить | Правка | Наверх | Cообщить модератору

13. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +3 +/
Сообщение от Аноним (13), 15-Сен-23, 23:23 
Не решаются. Количество ИЗВЕСТНЫХ уязвимостей не даст соврать. А сколько ещё НЕИЗВЕСТНЫХ....
Ответить | Правка | Наверх | Cообщить модератору

136. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от Аноним (134), 17-Сен-23, 12:07 
То же самое применимо к новому языку. А сколько у него еще НЕНАПИСАНЫХ ошибок...
Ответить | Правка | Наверх | Cообщить модератору

42. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от _kpemail (ok), 16-Сен-23, 04:45 
> Именно поэтому Раст не нужен. Пока проблемы решаются через анализаторы кода,

Rust - не даёт прострелить ногу, пока не используется unsafe. Ну, по крайней мере, концептуально должен не дать.

> решение, не совместимое с прежней кодовой базой, не нужно.

А чисто исходники на Си, и тем более C++, но написанные под разные их стандарты или реалиции компиляторов, архитектуры, типа переносимы без их правки. А уж проявление граблей при переносе и вовсе непредсказуемо, в том числе анализаторами.

Предположим в очередной стандарт Си добавят фичи из Rust, так на несовместимость исходников и слова не скажут, ибо не хочешь - не используй.
А тогда с Rust что не так? Там претензии не столько к менее читаемому синтаксису, сколько к системе сборки и зависимостям.

Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

43. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от Аноним (43), 16-Сен-23, 08:01 
std::unique_ptr.
С разморозкой, появился в 2011 году
Ответить | Правка | Наверх | Cообщить модератору

44. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (44), 16-Сен-23, 09:04 
угу,
а куча проектов все еще на более древних версиях
и переходить они не собираются, ибо костылей и ub там столько, что проще забить
Ответить | Правка | Наверх | Cообщить модератору

53. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от Аноним (56), 16-Сен-23, 10:37 
Раст переписать в принципе невозможно. Давай ещё аргументов.
Ответить | Правка | Наверх | Cообщить модератору

60. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от Аноним (24), 16-Сен-23, 13:13 
это конкретно std::unique_ptr появился тогда, но никто не мешал до него написать свой
Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

72. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Анонми (?), 16-Сен-23, 16:40 
Мелало отсутствие мув-семантики.
Ответить | Правка | Наверх | Cообщить модератору

126. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от Советский инженерemail (?), 17-Сен-23, 10:22 
И как тебе этот юникпоинтер не позволит изменить значение из разных потоков?
Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

48. Скрыто модератором  +2 +/
Сообщение от Аноним (-), 16-Сен-23, 09:22 
Ответить | Правка | К родителю #42 | Наверх | Cообщить модератору

55. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  –1 +/
Сообщение от Аноним (56), 16-Сен-23, 10:39 
Ты всегда используешь ансей в расте, зачем тогда Раст. Ни один растовик пока что на этот вопрос не смог внятно ответить.
Ответить | Правка | К родителю #42 | Наверх | Cообщить модератору

64. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от warlock66613 (ok), 16-Сен-23, 13:27 
Rust всегда Rust, что safe, что unsafe: правила одни и те же и там и там. В unsafe блоках ты берёшь часть проверок на себя, только и всего. В safe части ты можешь расслабиться, в unsafe приходится напрячься, но unsafe блоки пишутся максимально просто — так, чтобы без особых трудностей следовать правилам, а запутанные вещи делаются в safe части.
Ответить | Правка | Наверх | Cообщить модератору

67. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +2 +/
Сообщение от Аноним (19), 16-Сен-23, 14:18 
> Ты всегда используешь ансей в расте, зачем тогда Раст.

Ты всегда пишешь чушь?

> Ни один растовик пока что на этот вопрос не смог внятно ответить.

Внятно - это в рамках персонально твоей, альтернативной логики и реальности?

Ответить | Правка | К родителю #55 | Наверх | Cообщить модератору

70. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от Анонимусс (?), 16-Сен-23, 16:01 
> Ни один растовик пока что на этот вопрос не смог внятно ответить.

Может ты просто не в состоянии осилить ответ?))

Ответить | Правка | К родителю #55 | Наверх | Cообщить модератору

79. Скрыто модератором  –1 +/
Сообщение от Аноним (-), 16-Сен-23, 17:31 
Ответить | Правка | Наверх | Cообщить модератору

164. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Мда (?), 17-Сен-23, 20:52 
Раст, по факту, это один большой стат. анализатор.
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

12. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +4 +/
Сообщение от Аноним (13), 15-Сен-23, 23:22 
Чем бы ни страдать, абы на язык с нормальным компилятором не переходить, в котором бОльшая часть ошибок ловится на этапе компиляции без всяких дополнительных телодвижений.
Ответить | Правка | Наверх | Cообщить модератору

14. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +3 +/
Сообщение от Аноним (14), 15-Сен-23, 23:23 
необучаемость, сэр.
Ответить | Правка | Наверх | Cообщить модератору

26. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (24), 16-Сен-23, 00:58 
столько не живут, сколько ты будешь свой говнокод переделывать под хотелки компилятора
Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

31. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (31), 16-Сен-23, 01:51 
А под хотелки статического анализатора не нужно переделывать, да?
Ответить | Правка | Наверх | Cообщить модератору

52. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (56), 16-Сен-23, 10:36 
Как только он начинает выпендриваться на него кладется болт и хотела идёт в исключения.
Ответить | Правка | Наверх | Cообщить модератору

75. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (73), 16-Сен-23, 17:04 
Звучит надёжно и очень безопасно
Ответить | Правка | Наверх | Cообщить модератору

167. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (167), 17-Сен-23, 23:26 
Уже ходишь в бронетрусах?
Ответить | Правка | Наверх | Cообщить модератору

111. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от Аноним (-), 16-Сен-23, 21:30 
> Как только он начинает выпендриваться на него кладется болт и хотела идёт в исключения.

А потом вы такой садитесь в тоету с непатченым ECU и наслаждаетесь острыми ощущениями... правда, сможете ли вы ими поделиться с окружающими - вот это как повезет уже. Как показали натурные эксперименты, везло не всем.

Ответить | Правка | К родителю #52 | Наверх | Cообщить модератору

61. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (24), 16-Сен-23, 13:15 
да, не надо, потому что он указывает на косяки, а не на шизофазию головного мозга "разработчиков" раста и их видение реальности. эталонное шашечки и ехать
Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

51. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Anonim (??), 16-Сен-23, 10:36 
Ну Herb Sutter уже пишет новый cpp2.. Очнулись таки
https://github.com/hsutter/cppfront
Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

54. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (54), 16-Сен-23, 10:37 
Страуструп тут недавно выступал и совершенно точно подметил, что те, кто думает, что корректность программы исчерпывается правильной работой с памятью, не понимают примерно ничего в этой жизни https://www.youtube.com/watch?v=eo-4ZSLn3jc
Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

65. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от warlock66613 (ok), 16-Сен-23, 13:32 
Страуструп не понимает что UB — это не "некорректность". Суть не в том чтобы писать без ошибок, смысл в том, чтобы писать программы хотя бы синтаксически корректные, то есть без UB.
Ответить | Правка | Наверх | Cообщить модератору

68. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (54), 16-Сен-23, 14:32 
Пионеры не в состоянии понять, что UB - это следствие разнородности аппаратных платформ, с которыми C++ должен уметь эффективно работать непосредственно. И когда их любимый пионерский язычок натыкается на целочисленное переполнение в релизной сборке, он ведет себя точно так же неопределенно, как и C++.
Ответить | Правка | Наверх | Cообщить модератору

69. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Анонин (?), 16-Сен-23, 15:58 
> пионерский язычок натыкается на целочисленное переполнение в релизной сборке, он ведет себя точно так же неопределенно

А вот и нет. Что для signed int, что для unsigned int выполняется two’s complement wrapping.
Т.е. нет никакого UB, потому что результат выполнения будет однозначный, в отличие от плюсов и сишки.
https://github.com/rust-lang/rfcs/pull/560

Читайте маны, а не плодите мифы!

Ответить | Правка | Наверх | Cообщить модератору

71. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (54), 16-Сен-23, 16:03 
Вы либо крестик снимите, либо трусы наденьте: если вы пишете, что у вас нет runtime и overhead, то не пишите, что у вас нет UB, и наоборот - если у вас нет UB, тогда у вас есть runtime и/или overhead, которые обеспечивают поведение согласно вашим хотелкам на платформах, у которых поведение другое.
Ответить | Правка | Наверх | Cообщить модератору

83. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +2 +/
Сообщение от Анонми (?), 16-Сен-23, 17:51 
> если вы пишете, что у вас нет runtime и overhead, то не пишите, что у вас нет UB

Oh, my sweet summer child... Наличие UB не дает магического прироста скорости. Оно лишь дает право выстрелить себе в ногу, написав некорректный по определению код, а компилятору - право закрыть на это глаза.

Именно поэтому людям и приходиться использовать с C и C++ статические анализаторы: чтобы выловить свиней, заботливо подложенных создателями и комитетом C/C++ в свои убогие дырявые языки.

Ответить | Правка | Наверх | Cообщить модератору

84. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  –1 +/
Сообщение от Аноним (24), 16-Сен-23, 17:57 
неофиты неисправимы...

если ты знаешь, как работает комп, на котором ты будешь запускаться, ты просто берёшь и делаешь UB в угоду производительности, и ничего в этом криминального нет. нет никакой необходимости обходить формальное UB и писать более медленный код, если ты уверен, что имеющийся будет работать

Ответить | Правка | Наверх | Cообщить модератору

86. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +6 +/
Сообщение от Анонимусс (?), 16-Сен-23, 18:17 
Боже... вот из-за таких как ты, нынешний софт такой багованый...

Открываем ISO/IEC 14882:2020, пункт 3.28 undefined behavior

"Permissible undefined behavior ranges from ignoring the situation completely with unpredictable results, to behaving during translation or program execution in a documented manner characteristic of the environment (with or without the issuance of a diagnostic message), to terminating a translation or execution (with the issuance of a diagnostic message)."

Сам осилишь или перевести?
Наверное не нужно - ты же такой умный, знаешь как работает комп!
Можешь определить какое UB формальное, а какое нет)))

А потом твой прекраснейший быстрейший код, может превратиться в невалидную хрень просто при смене компилятора или даже при смене мажорной версии компилятора. И это я молчу про разные низкоуровневые изменения типа фиксов микрокода и тд.

"Because correct C++ programs are free of undefined behavior, compilers may produce unexpected results when a program that actually has UB is compiled with optimization enabled"

Ответить | Правка | Наверх | Cообщить модератору

87. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (54), 16-Сен-23, 18:26 
Ну так по этому определению твой любимый пионерский язычок, в котором якобы нет UB, может либо запаниковать, либо не запаниковать при переполнении. Всё в зависимости от того, с какими опциями будет вызван компилятор. Ещё раз: это не про C++, а про твой язычок, в котором, якобы, нет UB.
Ответить | Правка | Наверх | Cообщить модератору

88. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от Анонимусс (?), 16-Сен-23, 18:38 
Нет, речь не про раст, и даже не про с++.
А про подход, что "ты просто берёшь и делаешь UB в угоду производительности, и ничего в этом криминального нет"
Тебе в с++ стандарте черным по белому написали чем это грозит. Но ты все равно считаешь, что умнее разрабов стандарта и такой быдл0к0д имеет право на жизнь!

> может либо запаниковать, либо не запаниковать при переполнении

Facepalm... Дело не в том, что оно запаникует или нет. А в том, что поведение integer overflow описано и зафиксировано. А оно уже может быть любым, главное однозначным.

Ответить | Правка | Наверх | Cообщить модератору

91. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  –1 +/
Сообщение от Аноним (54), 16-Сен-23, 19:02 
Поведение integer overflow описано и зафиксировано и в C++ ТОЖЕ! Только описано и зафиксировано оно не для компилятора, а для конкретной платформы. И на конкретной платформе конкретное поведение является полностью определенным. Далее кому надо - берут и используют библиотеку, предоставляющую нужный баланс гарантий и производительности, e.g. https://github.com/dcleblanc/SafeInt/blob/master/helpfile.md
Благо проблем с расширением C++ библиотеками, в отличие от известно пионерского языка, почти нет.
Ответить | Правка | Наверх | Cообщить модератору

94. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от Анонимусс (?), 16-Сен-23, 19:13 
> и в C++ ТОЖЕ!

А вот теперь пруфы для signed integer overflow хотя бы для пары платформ (ссылки на доки подойдут).
И не нужно говорить что это другое, в комменте выше я писал про signed.

Ответить | Правка | Наверх | Cообщить модератору

99. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (54), 16-Сен-23, 20:06 
Пожалуйста: https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html
А теперь расскажи чем пионерский язычок в этом плане лучше, если он может либо генерировать панику, либо не генерировать панику - всё в зависимости от опций компилятора.
Ответить | Правка | К родителю #94 | Наверх | Cообщить модератору

95. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от Анонми (?), 16-Сен-23, 19:34 
> Поведение integer overflow описано и зафиксировано и в C++ ТОЖЕ! Только описано и зафиксировано оно не для компилятора, а для конкретной платформы.

Нет, дружок, не зафиксированно. В стандарте C++ черным по белму написано, что signed overflow это UB. На любой платформе. Иначе это было бы не UB, а implementation-defined behavior.

> И на конкретной платформе конкретное поведение является полностью определенным.

Не, не является. UB - это UB на любой платформе.

В общем, как всегда на опеннете: некомпетентный в C и C++ "эксперт" понятия не имеет о проблемах этих языков, но во всю воюет против Раста.

Ответить | Правка | Наверх | Cообщить модератору

100. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (54), 16-Сен-23, 20:10 
Ещё раз: UB в этом контексте означает то же поведение, что и в пионерском язычке. В зависимости от опций компилятора.

When signed integer arithmetic operation overflows (the result does not fit in the result type), the behavior is undefined: it may wrap around according to the rules of the representation (typically 2's complement), it may trap on some platforms or due to compiler options (e.g. -ftrapv in GCC and Clang), or may be completely optimized out by the compiler.

Ответить | Правка | К родителю #95 | Наверх | Cообщить модератору

103. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Анонми (?), 16-Сен-23, 20:32 
> UB в этом контексте означает то же поведение,

UB в этом - и в любом другом
- контексте не может означать какого-то поведения. Как бы само название "неопределенное поведение" говорит об этом прямым текстом, но тебе ведь спорить - как с горы катиться.

Извини, чел, но чтобы понять, зачем существует Раст, нужно знать о проблемах C/C++ - а ты в этой теме не в зуб ногой.

Ответить | Правка | К родителю #100 | Наверх | Cообщить модератору

104. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (54), 16-Сен-23, 20:40 
Я на C++ деньги зарабатываю, а ты пионер, который пересказывает проповеди евангелистов. Если тебе ссылки на документацию выше не говорят о возможности задания строгого определенного поведения в GCC и Clang (а также в любых других комбинациях компиляторов и платформ), то ты просто не понимаешь, что там написано. UB в C++ означает только то, что стандарт не определяет поведение в данной конкретной ситуации. Это не значит, что поведение будет обязательно неопределено для конкретного компилятора и платформы, а ровно наоборот - просто оно может отличаться между платформами и компиляторами.
Ответить | Правка | К родителю #103 | Наверх | Cообщить модератору

110. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от Анонимусс (?), 16-Сен-23, 21:28 
> UB в C++ означает только то, что стандарт не определяет поведение в данной конкретной ситуации.

Это не так. Ты сейчас говоришь про 3.29 unspecified behavior
"behavior, for a well-formed program construct and correct data, that depends on the implementation"
Вот оно зависит он конкретной реализации. При этом код остается валидным и на это поведение можно завязываться.

А UB делает код невалидным. В след. версии компилятора они мог вообще дропнуть UB кусок во время оптимизации и будут абсолютно правы. То что в компиляторы добавили флаги-костыли для затыкания UB - это просто от безысходности - количество быдл0кодеров, которые кладут болт на стандарты превышало все разумные пределы, а кодовая база была уже написана. И это вряд ли изменится, потому что исправив это - получат кучу нытиков "дисят лет работало, а типеря сламалася!!11"

> Я на C++ деньги зарабатываю

Да я и не сомневался)) А таких как ты много...

Ответить | Правка | К родителю #104 | Наверх | Cообщить модератору

113. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (54), 16-Сен-23, 22:23 
Я говорю так, как оно есть, но я пытаюсь что-то донести до пионера-фанатика, который не понимает ни русского, ни адглийского, ни элементарного здравого смысла, а несёт какую-то религиозную пургу, чтобы возвысить свой пионерский язычок и приписать другим языкам недостатки, которых у них нет. По факту у тебя просто одна реализация компилятора и нет никакого стандарта, так что на стандарты ты будешь ссылаться тогда, когда он появится и ты поймешь для чего стандарты нужны.
Ответить | Правка | К родителю #110 | Наверх | Cообщить модератору

115. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (31), 16-Сен-23, 23:17 
> приписать другим языкам недостатки, которых у них нет

Забавно было бы услышать, почему тогда 70% всех уязвимостей - это именно работа с памятью в C и C++. Действительно: если в C++ нет недостатков, то выходит, что Rust могли придумать лишь дураки-пионэры, которые об этом не знали, так ведь?

> на стандарты ты будешь ссылаться тогда, когда он появится и ты поймешь для чего стандарты нужны.

Ну так у C/C++ они уже есть. И нужны они, очевидно, для того, чтобы опеннетные эксперты трактовали их так, как захочется - в зависимости от уровня своей некомпетентности.

Ответить | Правка | К родителю #113 | Наверх | Cообщить модератору

116. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (54), 16-Сен-23, 23:51 
Дорогой пионер, стандартов C++ уже 6 штук и на подходе 7-й. И различаются некоторые из них между собой не меньше, чем 2 разных языка. А ты пишешь про какую-то работу "с памятью в C и C++". C++ успешно эволюционирует и проблемы в нём успешно устраняются, чего не скажешь о пионерском язычке, код браузерного движка на котором оказалось легче выкинуть и переписать с нуля (https://www.opennet.ru/openforum/vsluhforumID3/131470.html#52 ), нежели пытаться исправить - ещё до выхода первого стандарта язычка. И это при том, что сам язычок изначально разрабатывался компанией Mozilla именно для этого браузерного движка. А на C++ код поддерживается и развивается десятилетиями, благодаря чему ты здесь можешь писать всякую ерунду.
Ответить | Правка | К родителю #115 | Наверх | Cообщить модератору

127. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от Советский инженерemail (?), 17-Сен-23, 10:32 
И все так счастливы поддерживать этот прекрасный язычок что, как ты и сам заметил, одни изобрели Раст, другие карбон и го. От скуки наверное?
Ответить | Правка | К родителю #116 | Наверх | Cообщить модератору

124. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +2 +/
Сообщение от Анонимусс (?), 17-Сен-23, 10:20 
Дорогой непионер, мы все уже давно поняли твою позицию и что ты из себя представляешь.
И про быдлокодинг, и про "а так сойдет", и про болт на стандарты.
Спасибо, мы достаточно видели таких и их кода... Можешь не продолжать позориться.
В дальнейший диалоге смысла не вижу. До скорой встречи в очередной CVE в дыряшке.
Ответить | Правка | К родителю #113 | Наверх | Cообщить модератору

129. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (54), 17-Сен-23, 11:11 
Не забудь принять стандарт ISO пионерского язычка и сменить "дыряшку" на реактос с сервоприводом прежде чем следующий коммент строчить, любитель стандартов.
Ответить | Правка | К родителю #124 | Наверх | Cообщить модератору

139. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (158), 17-Сен-23, 12:30 
скомпиляй ядро без расширений GNU для С, и тогда что-то рассказывай, любитель стандартов.

Не стандарт, а убожество. Невозможно сделать ядро (казалось бы С для этого и придумали) чтоб не попользоваться нестандартными расширениями компилятора.

Ответить | Правка | К родителю #129 | Наверх | Cообщить модератору

147. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (147), 17-Сен-23, 14:30 
> чтоб не попользоваться нестандартными расширениями компилятора

Вы думаете это случайно так? По недомыслию разработчиков стандартов? Вы то умнее их и так бы не сделали?

Ответить | Правка | К родителю #139 | Наверх | Cообщить модератору

157. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (158), 17-Сен-23, 18:02 
я не знаю по какой причине стандарт такой как есть, но вот хвастатся таким стандартом я бы не стал.
Ответить | Правка | К родителю #147 | Наверх | Cообщить модератору

160. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (147), 17-Сен-23, 19:44 
> я не знаю по какой причине стандарт такой как есть, но вот хвастатся таким стандартом я бы не стал.

То есть, "не читал, но осуждаю".

Он есть. В отличии от.

И он рассчитан на развитие железа и его изменения.

В отличии от некоторых.

Где здесь причина не гордиться им?

Ответить | Правка | К родителю #157 | Наверх | Cообщить модератору

171. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Советский инженер (?), 18-Сен-23, 04:47 
Не мычи, ядро по стандарту собрал или нет?
Если нет, то пошол вон.
Ответить | Правка | К родителю #160 | Наверх | Cообщить модератору

184. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (184), 18-Сен-23, 20:04 
Это вендорлок.
Ответить | Правка | К родителю #147 | Наверх | Cообщить модератору

130. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (147), 17-Сен-23, 11:13 
> и про болт на стандарты

Забавно слышать от фанатов rust'а.

У которых нет стандарта.

И есть 1.2 реализации.

Причем начало второй реализации полностью без проверок.

И спокойно можно писать на этой реализации rust программу. Стандарта то нет.

Ответить | Правка | К родителю #124 | Наверх | Cообщить модератору

138. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от Аноним (158), 17-Сен-23, 12:24 
ха, чем такие стандарты в которых UB в перемешку с implementation-defined, котоые по сути, не гарантирут елементарного! Как сложить два числа без UB !!!

уж лучше жить на RFC и не смешить людей такими стандартами.

Ответить | Правка | К родителю #130 | Наверх | Cообщить модератору

145. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (147), 17-Сен-23, 13:37 
> уж лучше жить на RFC и не смешить людей такими стандартами.

Во! Во! Это ниша пионерских язычков.

Вот так и живите дальше.

Ответить | Правка | К родителю #138 | Наверх | Cообщить модератору

148. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (31), 17-Сен-23, 14:41 
> Вот так и живите дальше.

А мы будем и дальше "просто брать, и делать UB", да? Ох и цирк...

Ответить | Правка | К родителю #145 | Наверх | Cообщить модератору

161. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (147), 17-Сен-23, 19:46 
Это чувство самосохранения.

Не заниматься однодневками.

Ответить | Правка | К родителю #148 | Наверх | Cообщить модератору

174. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Советский инженер (?), 18-Сен-23, 08:07 
С таким подходом тебе надо безопасненько на Яве писать , или вообще на коболе.

Ты не достоин быть частью семьи где отцы основатели сделали язык под проект.

Ответить | Правка | К родителю #161 | Наверх | Cообщить модератору

181. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Серб (ok), 18-Сен-23, 17:16 
Скопипащу с форума одного сайта. Это то, что очевидно, но как-то многие делают вид, что вообще не понимают, о чем речь, почему-то.


> Что такое вообще код?
> Это реализация,выражение какой-то идеи, записанное в виде набора инструкций. Вопрос же про сопровождение, т.е реализация должна жить максимально долго с минимумом усилий.
> Что может этому помешать? Изменение среды выполнения: ОС, железо, библиотеки.
> Как снизить влияние среды?
> Варианта всего два: либо свой рантайм либо абстрагирование на уровне кода - чтобы везде и всегда собиралось.
> Первый вариант это то что реализуют Java и .NET, второй это Си.

Копипасту немного порезал. Там дальше rust ругает.

Ответить | Правка | К родителю #174 | Наверх | Cообщить модератору

182. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +2 +/
Сообщение от Аноним (158), 18-Сен-23, 18:34 
>> ... чтобы везде и всегда собиралось.

блииин, а я всегда думал надо чтоб собранное работало ....
а оно вот как, собралось и ладненько

Ответить | Правка | К родителю #181 | Наверх | Cообщить модератору

183. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Серб (ok), 18-Сен-23, 18:40 
> блииин, а я всегда думал надо чтоб собранное работало ....
> а оно вот как, собралось и ладненько

Зачем попросту ерничать?

Понятно же, что и работать должно.

Ответить | Правка | К родителю #182 | Наверх | Cообщить модератору

108. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от Аноним (19), 16-Сен-23, 21:17 
> Ну так по этому определению твой любимый пионерский язычок, в котором якобы
> нет UB, может либо запаниковать, либо не запаниковать при переполнении.

Не совсем. Это ты можешь либо эт-самое в лужу, либо просто в сторону "растоманов" - в зависимости от настроения и желаний левой пятки. А тут
https://doc.rust-lang.org/std/primitive.u32.html#method.wrap...
> Wrapping (modular) addition. Computes self + rhs, wrapping around at the boundary of the type.

все, как хочет погроммист, вне зависимости от опций и языковых расширений компилятора


Ответить | Правка | К родителю #87 | Наверх | Cообщить модератору

96. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +3 +/
Сообщение от Анонми (?), 16-Сен-23, 19:38 
> ты просто берёшь и делаешь UB

Ахаха! Чел, ты это серьезно?

Вот и все, что нужно знать о противниках Раста. Зато уже ведь всех окрестил неофитами и пионерами...

Ответить | Правка | К родителю #84 | Наверх | Cообщить модератору

76. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от Анонми (?), 16-Сен-23, 17:06 
> Пионеры не в состоянии понять, что UB - это следствие разнородности аппаратных платформ, с которыми C++ должен уметь эффективно работать непосредственно

Извини, но нет: концепция UB не добавляет C/C++ возможность поддержки каких-то дополнительных платформ, и уж точно она не про эффективность. Согласно стандарту, наличие UB в программе делает ее некорректной на абсолютно любой платформе.

Ответить | Правка | К родителю #68 | Наверх | Cообщить модератору

80. Скрыто модератором  +/
Сообщение от Аноним (-), 16-Сен-23, 17:35 
Ответить | Правка | Наверх | Cообщить модератору

98. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от warlock66613 (ok), 16-Сен-23, 20:02 
Вы явно путаете undefined behavior и implementation-defined behavior. Это _очень_ разные вещи.

Ответить | Правка | К родителю #68 | Наверх | Cообщить модератору

101. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (54), 16-Сен-23, 20:19 
Нет, это вы не понимаете, что аппаратная платформа отличается от компилятора, для которого и применяется термин "implementation-defined", и что для аппаратной платформы поведение может быть четко определено даже если оно не определено в стандарте языка.
Ответить | Правка | Наверх | Cообщить модератору

105. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Анонми (?), 16-Сен-23, 20:44 
Ну как бы да, это и есть implementation-defined behavior. Но вы его путаете с undefined behavior, которое при любом раскладе undefined.
Ответить | Правка | Наверх | Cообщить модератору

128. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (128), 17-Сен-23, 11:00 
> Ну как бы да, это и есть implementation-defined behavior. Но вы его
> путаете с undefined behavior, которое при любом раскладе undefined.

Из одного может получиться другое. Скажем формат signed - implementation defined. Откуда вытекает что signed overflow - UB, потому что может быть что так что сяк. В зависимости от формата хранения.

Ответить | Правка | Наверх | Cообщить модератору

131. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (54), 17-Сен-23, 11:22 
Я ничего не путаю. Это ты не понимаешь, что есть стандарт C++ для десятков компиляторов и сотен аппаратных платформ, в котором есть свои области определения, а есть компиляторы и платформы, которые эти области определения расширяют. То, что что-то не определено по стандарту ISO не означает, что оно не определено по спецификации GCC/Clang и/или AMD. А ты это сравниваешь с пионерским язычком, у которого вообще никакого стандарта нет и есть полторы реализации компиляторов. С точки зрения стандартов весь rust и любая программа на нём - UB.
Ответить | Правка | К родителю #105 | Наверх | Cообщить модератору

159. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (158), 17-Сен-23, 18:37 
ага, ага.
стандарт есть, но мягкий 🤣

да и сам язычек такой, что при первой возможности бегут с него проекты.

Ответить | Правка | Наверх | Cообщить модератору

163. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  –1 +/
Сообщение от Аноним (147), 17-Сен-23, 20:36 
Ты имеешь ввиду мозилу, которая получив опыт, свалила с rust'а?
Ответить | Правка | Наверх | Cообщить модератору

175. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (158), 18-Сен-23, 10:27 
мозила свалила с раста только в альтернативной реальности местных икспертов.
Ответить | Правка | Наверх | Cообщить модератору

176. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (31), 18-Сен-23, 10:37 
> Ты имеешь ввиду мозилу, которая получив опыт, свалила с rust'а?

Ты нагло лжешь.

https://wiki.mozilla.org/Oxidation#Rust_Components
https://4e6.github.io/firefox-lang-stats/

Ответить | Правка | К родителю #163 | Наверх | Cообщить модератору

178. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Серб (ok), 18-Сен-23, 14:09 
Так, интереса ради, что на нем сейчас пишут в firefox?

Что подсмотреть за интересными примерами?

Ответить | Правка | Наверх | Cообщить модератору

123. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Советский инженерemail (?), 17-Сен-23, 10:12 
Бла бла бла UB, бла бла бла implementation-defined ...

Так и что там с корректностью?
Один спрыгивает с дырявости на корректность, другой с корректности на неопределенное поведение. Что значит по сути предьяв и сказать нечего. Остаётся только извивается.

Ответить | Правка | К родителю #101 | Наверх | Cообщить модератору

141. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (31), 17-Сен-23, 12:44 
> Так и что там с корректностью?
> Что значит по сути предьяв и сказать нечего. Остаётся только извивается.

С корректностью чего именно? По сути каких именно предьяв?

Ответить | Правка | Наверх | Cообщить модератору

142. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (158), 17-Сен-23, 12:58 
>С корректностью чего именно?

вот уж действительно, о какой корректности в контексте полюсов можно говорить.
очевидно что у Бьярна начался старческий маразм.

Ответить | Правка | Наверх | Cообщить модератору

143. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (31), 17-Сен-23, 13:03 
> Бла бла бла UB, бла бла бла implementation-defined ...
> Так и что там с корректностью?

Чел, при наличии UB в коде и сам код, и получающиеся из него бинари некорректны по определению. Какое "бла бла бла"?

Ответить | Правка | К родителю #123 | Наверх | Cообщить модератору

112. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (-), 16-Сен-23, 21:37 
> Пионеры не в состоянии понять, что UB - это следствие разнородности аппаратных
> платформ, с которыми C++ должен уметь эффективно работать непосредственно.

На практике это скорее ведет к хреновой куче багов в коде на ровном месте. А компилер так то имеет право обрубить что угодно до чего угодно оптимизером - если иллюзия не разваливается.

Поэтому код для "int" и "uint16_t" де факто получается как правило одинаковый. Однако есть разница: если вы удумаете назначить что-то явно левое, типа 100500 в uint16_t - вы таки можете варнинг поиметь, а вон там оно спокойно вкатится - чего доброго заюзается как индекс массива какого, на самом деле это опечаточка вышла - но по чужой памяти покатались знатно. И спасибо если не послали ее в сеть или куда там и еще более спасибо если не вкатили это из сети ничего не подозревавшей программе фиг знает куда вообще.

А скажите - вы и правда хотели вот именно "int" как индекс массива? Пока единственный профит который я вижу - возможность влепить отрицательные значения без особого намека на варнинги.

Более того - это даже до олдов дошло. До тех которые нормальные. Читать Торвальдса в пуллреквестах bcachefs до просветления. Там где про bit fields vs enum. И это все - вот как раз поэтому. Там Торвальдс мастеркласс по антибагу до кучи дал. Его то жизнь заставила. А кентушка створил какую-то хрень, запостив pull с явным багом и довольно крутым. А старого лиса вот не проведешь - баги за версту чует.

Ответить | Правка | К родителю #68 | Наверх | Cообщить модератору

77. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Анонми (?), 16-Сен-23, 17:18 
> Страуструп тут недавно выступал и совершенно точно подметил, что те, кто думает, что корректность программы исчерпывается правильной работой с памятью, не понимают примерно ничего в этой жизни

Да, да... А то, что более 70% всех уязвимостей в софте вызваны именно неправильной работой с памятью в C и C++ он тактично промолчал?

Ответить | Правка | К родителю #54 | Наверх | Cообщить модератору

90. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (54), 16-Сен-23, 18:49 
Нет, ровно об этом и говорил: do not use low-level unsafe features - hide them in containers or libraries.
Ответить | Правка | Наверх | Cообщить модератору

97. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Анонми (?), 16-Сен-23, 19:52 
> hide them

Ага, уязвимости же от этого магическим образом исчезают.  Это типа как мусор заметать под ковер. Как жаль, что всякие дурачки, изабретающие и внедряющие расты, не знают об этом простом и эффективном способе решения 70% проблем.

Ответить | Правка | Наверх | Cообщить модератору

92. Скрыто модератором  +/
Сообщение от неАнон (?), 16-Сен-23, 19:03 
Ответить | Правка | К родителю #77 | Наверх | Cообщить модератору

192. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от BeLord (ok), 22-Сен-23, 11:44 
Ну и где у нас нормальные компиляторы?-))
Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

16. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (16), 15-Сен-23, 23:30 
Лучше valgrind'а?
Ответить | Правка | Наверх | Cообщить модератору

27. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (24), 16-Сен-23, 00:59 
одновременно юзаю valgrind, clang static analyzer и cppcheck
Ответить | Правка | Наверх | Cообщить модератору

34. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от Аноним (-), 16-Сен-23, 02:25 
> Лучше valgrind'а?

Он как бы не замена оному. Есть статический анализ, а есть анализ в рантайме. Valgrind о втором. Он рантайм-анализатор проблем и его больше смысла сравнивать с asan/ubsan чтоли. Которые так то тоже не замена статическому анализу а рантайм-дополнение к нему.

Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

35. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (15), 16-Сен-23, 02:36 
Чего только не придумают лишь бы не писать без ошибок...
Ответить | Правка | Наверх | Cообщить модератору

37. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  –1 +/
Сообщение от burjui (ok), 16-Сен-23, 03:25 
Действительно, ведь всего-то нужно начать с

int main(void)
{
    return 0;
}

а дальше — согласно стандарту. Изи.

Ответить | Правка | Наверх | Cообщить модератору

45. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (44), 16-Сен-23, 09:05 
я бы еще добавил каст к void*, ну так, чисто чтобы держать планку
и чтобы следующие пограммисты не расслаблялись)
Ответить | Правка | Наверх | Cообщить модератору

62. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от Аноним (24), 16-Сен-23, 13:17 
согласно теории ошибок либо у тебя в программе нет ошибок, либо она никому не нужна
Ответить | Правка | К родителю #37 | Наверх | Cообщить модератору

63. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (24), 16-Сен-23, 13:17 
*есть ошибки
Ответить | Правка | Наверх | Cообщить модератору

85. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (85), 16-Сен-23, 18:06 
Кто-то хоть раз с этим анализатором РЕАЛЬНЫЙ баг находил? вот который на самом деле происходит, а не так, "теоретически, если потом кто-то поменяет код".

По мне эти улититы анализа - пустая трата времени на то чтобы читать их высеры

Ответить | Правка | Наверх | Cообщить модератору

120. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +2 +/
Сообщение от Мда (?), 17-Сен-23, 08:56 
Да, например случайная копипаста недоправленная, т.е. что-то типа (точно не помню):
memcpy(x, y, sizeof(y));
memcpy(z, k, sizeof(y));
Ответить | Правка | Наверх | Cообщить модератору

153. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (-), 17-Сен-23, 16:53 
> Да, например случайная копипаста недоправленная, т.е. что-то типа (точно не помню):
> memcpy(x, y, sizeof(y));
> memcpy(z, k, sizeof(y));

Можно рубануть в стиле антибаг. Наример:
#define MEMCOPY(x, y)  memcpy((x), (y), sizeof(y)).

...а теперь попробуйте так облажаться в MEMCOPY() вообще? Да, caveats у этого решения увы, тоже есть :). А еще в идеале нехило бы проверить что sizeof(x) == sizeof(y). Иначе можно жизнерадостно вынести все что за x из памяти и глазом не моргнуть если x меньше y по размеру.

Эти олдовые функции мало того что с дурным прототипом так еще злее опасной бритвы. В два счета снимут скальп случайно при бритье, если заказать что-то не то. И вот идете вы такой весь перемотаный бинтами на горле, черепухе, "ничего себе к цирюльнику сходил"

Ответить | Правка | Наверх | Cообщить модератору

106. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  –1 +/
Сообщение от Govein (?), 16-Сен-23, 20:46 
> статического анализатора кода для языков C++ и С

А почему не С и С++? Так же намного привычнее.

Ответить | Правка | Наверх | Cообщить модератору

114. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от хрю (?), 16-Сен-23, 22:48 
ну, наверно, потому что  это cpp check, а не c check +).
Ответить | Правка | Наверх | Cообщить модератору

125. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от iPony129412 (?), 17-Сен-23, 10:21 
хорошая штука, до VPS 🦄 конечно не дотягивает, но всё же.
Ответить | Правка | Наверх | Cообщить модератору

149. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Каптер (?), 17-Сен-23, 15:12 
А существует ли книга (или серия статей) о best practices в языке C? Чтоб сразу писать более надежно, а не набивать шишки.
Ответить | Правка | Наверх | Cообщить модератору

154. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +2 +/
Сообщение от Аноним (-), 17-Сен-23, 17:02 
> А существует ли книга (или серия статей) о best practices в языке
> C? Чтоб сразу писать более надежно, а не набивать шишки.

1. Embedded C coding standard - by M.Barr - можно укачать нашару насколько я помню.
2. Правила MISRA C. Сие легально на шару укачать низя, увы - проприетарщики. Но найти можно если нужно.
3. Почитать блог Cyan (автора LZ4) на тему этого самого. Там есть здравые идеи.
4. Забить в поискарь "antibug coding C" и получить бонусов из разных мест. Узнаете почему лучше сравнения делать вида if (10 == a) а не (if a == 10). Хинт: при опечатке if (a = 10) vs if (10 = a) это две большие разницы. Поэтому второй вариант - антибажный.
5. Посмотреть на практикующих гуру. Жесткую эмбедоску, линукскернел, все такое. Получите немало идей как не стрелять себе в пятки. От макро ARRAY_SIZE какой до авто-вычисления масок для битовых полей вместо того чтобы телепаться самому. Можно даже с проверкой что биты влезли в энную ширину.

Это может быть оверкиллом - но получив знание можно дальше уже по ситуации смотреть насколько оно имеет смысл в конкретном случае. Скажем правила MISRA довольно жесткие и не сказать что удобные. Но они имеют под собой определенный пойнт.

Ответить | Правка | Наверх | Cообщить модератору

162. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от Аноним (147), 17-Сен-23, 19:53 
> 4. Забить в поискарь "antibug coding C" и получить бонусов из разных мест. Узнаете почему лучше сравнения делать вида if (10 == a) а не (if a == 10). Хинт: при опечатке if (a = 10) vs if (10 = a) это две большие разницы. Поэтому второй вариант - антибажный.

И есть несколько книг, описывающие, что так делать нельзя, так как хуже воспринимается человеком. А код должен понимать человек. И написан он должен быть так, что бы его было легче воспринимать.
А такие ошибки уже давно не то что cppcheck'ами проверятся, а самими компиляторами.

Ответить | Правка | Наверх | Cообщить модератору

169. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (-), 18-Сен-23, 01:56 
> И есть несколько книг, описывающие, что так делать нельзя, так как хуже
> воспринимается человеком.

Компилер при случае жестко рубанувший присвоение переменной a числу 10 как невозможное деяние - очень сильно перевешивает эти соображения. На мой вкус выглядит почти однофигственно на самом деле. А вот опечататься случайно в синтаксически-валидном виде - в вон том характерном стиле не получится уже принципиально. Потому и часть идей antibug.

> А код должен понимать человек. И написан он должен быть так, что бы его было
> легче воспринимать.

Как показала практика, одно другому не мешает - зато гасит баги из-за typo на подлете. И если вы хотите холодный душ, у хрустиков вот жто вот - антибажнее. Хоть я и не понимаю чем им := вместо let mut blablabla не зашел, но все же, до идеи явной демаркации присвоения они доперли.

> А такие ошибки уже давно не то что cppcheck'ами проверятся, а самими компиляторами.

Это в случае компилера как самый максимум варнинг а не еррор. И то зависит от. А анализатор это вообще страховочный трос, он не для того чтобы на нем постоянно отвисать.

А вот при присвоении числу переменной компилер это совершенно точно загасит. И логически условие вообще совсем никак от этого не меняется. А что справа и что слева в общем то чистая вкусовщина, на логику условия не влияет же.

Ответить | Правка | Наверх | Cообщить модератору

172. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Каптер (?), 18-Сен-23, 07:28 
>при опечатке if (a = 10) vs if (10 = a)

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

Ответить | Правка | К родителю #154 | Наверх | Cообщить модератору

177. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним Максим (?), 18-Сен-23, 12:18 
if( a ) .. - не смущает же
и if( retcode=fn() ) .. тоже не смущает, и более того, всё очевидно

А вот if( a = b )   - уже нарушает читаемость, и чужого не работающего кода особенно, ибо возникает подозрение на опечатку.

Ну а if( a = const ) - это с вероятностью 96% - ляп.
В оставшихся случаях это последствия автогенерации кода, или замены #ifdef на константные if.

Ответить | Правка | Наверх | Cообщить модератору

179. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +1 +/
Сообщение от Каптер (?), 18-Сен-23, 16:27 
Честно говоря - смущает.
Ответить | Правка | Наверх | Cообщить модератору

180. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (-), 18-Сен-23, 17:01 
> и if( retcode=fn() ) .. тоже не смущает, и более того, всё очевидно

Вопрос: а зачем тут "retcode" вообще? if ( fn() ) было чем-то не круто? Или если retcode надо потом то зачем это в if () вообще было? Чтобы логику менее очевидной сделать?

Ответить | Правка | К родителю #177 | Наверх | Cообщить модератору

188. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Совершенно другой аноним (?), 19-Сен-23, 08:28 
например, для того, чтобы
if ((retcode = fn()) == 0)
{
}
else
if (retcode > 0)
{
}
else
{
}
Ответить | Правка | Наверх | Cообщить модератору

190. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (-), 21-Сен-23, 02:52 
Чувак, открой для себя тег [!code] ...  [!/code] (без восклицательных знаков, они тут для срыва парсинга этого тега). Хотя возможно ты получившимся контринтуитивным форматированием где мозг сломаешь какая ветка в каком случае выполняется специально вкатил и хотел подхайлайтить лишний раз почему так программить не стоит? :)
Ответить | Правка | Наверх | Cообщить модератору

189. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от voiceofreason (?), 21-Сен-23, 01:05 
Сэкономить одну строчку на кулхацкерских понтах
Ответить | Правка | К родителю #172 | Наверх | Cообщить модератору

191. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (-), 21-Сен-23, 02:54 
> Сэкономить одну строчку на кулхацкерских понтах

Как-то так в программах и появляются баги на ровном месте, а коллега неверно трактовавщий фрагмент кода - наломает и еще дров.

Ответить | Правка | Наверх | Cообщить модератору

168. "Выпуск cppcheck 2.12, статического анализатора кода для язык..."  +/
Сообщение от Аноним (168), 17-Сен-23, 23:36 
https://gist.github.com/Earnestly/7c903f481ff9d29a3dd1
Вот здесь список проявлений неопределённого поведения.
Ответить | Правка | К родителю #149 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру