Что: d9a8dfe35de9fbd81cecefffda022ee42e5e7ce9 Когда: 2021-03-07 11:54:20+03:00 ------------------------------------------------------------------------ Темы: git ------------------------------------------------------------------------ Списки запрещённых Си функций в git и Microsoft https://news.ycombinator.com/item?id=20792938 https://news.ycombinator.com/item?id=26353025 Вот чего мне не хватало (да и не хватает до сих пор), так это современного источника мудрости по Си. Открываешь старые книжки по Си и видишь что там явно плохие практики, очень опасные. Про всякие штуки типа -ffunction-sections (очень помогающие) или про -fstack-protector-all узнаю чисто случайно. Хотя... может я узнаю про них когда приходит время? И вот я мельком где-то просто видел и слышал что всякие strcpy и strcat являются опасными и не рекомендованными. Но я на Си и не писал прежде. Но а где мне найти вообще подборку хороших практик? Всё что я видел -- сильно разрозненные и не пересекающиеся множества знаний. И вот две ссылки на забаненные функции. И мне они очень понравились тем, что я по сути не узнал ничего нового. Своей головой, читая описания этих функций в man-ах, понимал что или проблемы с thread-safety/reentrancy или с возможностями выхода за границы. Получается что яростно неправильных фунок не так много и я самостоятельно понимал их опасность. Настроение поднимается. А ещё Microsoft удивляет. Недавно вот выяснилось что всякие защиты в софте (5916b1b5c4827dccf0a7ced477a8e7d6de45908f) они применяют очень давно и вроде как довольно активно, поболее чем FreeBSD. Хотя наверное тут и нечему удивляться: ведь у них на порядки больше пользователей. А сейчас приятно удивляет тем, что Microsoft основной потребитель функций из K-appendix-а C11 (12f6e5616982751e2f14a8c01cd503cb55f238ed): функций с _s суффиксом, который типа secure. Хотя они же их и разрабатывают. BSD системы их тоже поддерживают, а в glibc вообще под чистую отсутствует. ------------------------------------------------------------------------ оставить комментарий: mailto:comment@blog.stargrave.org?subject=Re:%20%D0%A1%D0%BF%D0%B8%D1%81%D0%BA%D0%B8%20%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%89%D1%91%D0%BD%D0%BD%D1%8B%D1%85%20%D0%A1%D0%B8%20%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9%20%D0%B2%20git%20%D0%B8%20Microsoft%20%28d9a8dfe35de9fbd81cecefffda022ee42e5e7ce9%29 ------------------------------------------------------------------------ Сгенерирован: SGBlog 0.34.0