Вариант для распечатки |
Пред. тема | След. тема | ||
| Форум Разговоры, обсуждение новостей | |||
|---|---|---|---|
| Изначальное сообщение | [ Отслеживать ] | ||
| "Проект Curl избавился от использования функции strcpy в коде" | +/– | |
| Сообщение от opennews (?), 31-Дек-25, 10:12 | ||
Дэниел Cтенберг (Daniel Stenberg), автор утилиты для получения и отправки данных по сети curl, объявил о прекращении использования функции strcpy() в кодовой базе проекта и запрете применения данной функции в дальнейшем. Решение является продолжением инициированного в прошлом году отказа от использования функции strncpy(), копирующей заданное число байт из входящей строки. Применение strncpy() создавало опасность возникновения ошибок из-за пропуска нулевого символа в конце строки или добавочного заполнения нулями... | ||
| Ответить | Правка | Cообщить модератору | ||
| Оглавление |
| Сообщения | [Сортировка по ответам | RSS] |
1.
Сообщение от Ilnarildarovuch (?), 31-Дек-25, 10:12
| +5 +/– | |
Молодцы, хорошее и safe изменение! | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #20, #56, #141, #172 | ||
| 3. Сообщение от Bottle (?), 31-Дек-25, 10:19 | +5 +/– | |
А могли бы использовать C++ и не пилить велосипед со строками... | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #9, #11, #13, #136, #144 | ||
| 4. Сообщение от Аноним (4), 31-Дек-25, 10:26 | +2 +/– | |
Где бенчмарки? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 5. Сообщение от Tron is Whistling (?), 31-Дек-25, 10:27 | +/– | |
Ну вот да, если нет managed строк - явная передача размеров буферов - лучшее решение. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #91 | ||
| 6. Сообщение от kravich (ok), 31-Дек-25, 10:31 | +5 +/– | |
>Кроме того, прекращение использования strcpy позволит избавиться от потока ложных сообщений об уязвимостях из-за некорректных срабатываний AI-инструментов, считающих наличие strcpy() уязвимостью без учёта имеющихся в коде проверок. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #7, #22, #92, #121 | ||
| 7. Сообщение от Tron is Whistling (?), 31-Дек-25, 10:39 | +6 +/– | |
Что да, то да. Когда термометр на мороженой рыбе показывает +50 - стоит выкинуть термометр. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #6 Ответы: #93 | ||
| 9. Сообщение от Аноним (9), 31-Дек-25, 10:45 | +1 +/– | |
а могли бы использовать питон и не заморачиваться вообще, а могли бы заплатить денег индусам и им бы все накодили, а могли бы найти гадалку чтобы она им искала ошибки через спиритические сеансы, ....сколько возможностей упущенно, ай яй яй | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #3 Ответы: #66, #169 | ||
| 10. Сообщение от онанист (?), 31-Дек-25, 10:53 | +4 +/– | |
из-за некорректных срабатываний AI-инструментов, считающих наличие strcpy() уязвимостью | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #24 | ||
| 11. Сообщение от Аноним (-), 31-Дек-25, 10:53 | –10 +/– | |
Поясню, программирование на чистом Си похоже на поэзию. Когда вы пишите стихи, люди жившие до вас много раз писали о том, о чём пишите Вы. Но данный факт не является причиной того что не надо писать стихи. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #3 Ответы: #57, #59 | ||
| 12. Сообщение от Фонтимос (?), 31-Дек-25, 11:00 | –1 +/– | |
>автор утилиты ..., объявил о | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #14, #23, #33 | ||
| 13. Сообщение от xPhoenix (ok), 31-Дек-25, 11:05 | –4 +/– | |
Рано или поздно и curl на Rust перепишут. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #3 Ответы: #15, #17, #21, #48, #86, #155 | ||
| 14. Сообщение от An (??), 31-Дек-25, 11:09 | –1 +/– | |
Зря вы так. C тут то, что доктор прописал. На python слишком медленно будет. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #12 Ответы: #40 | ||
15.
Сообщение от Ilnarildarovuch (?), 31-Дек-25, 11:12
| +3 +/– | |
И это будет отвратительно | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #13 | ||
| 17. Сообщение от Аноним (17), 31-Дек-25, 11:21 | +11 +/– | |
Уточнение: | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #13 Ответы: #30 | ||
| 19. Сообщение от Аноним (-), 31-Дек-25, 11:31 | –1 +/– | |
> Применение strncpy() создавало опасность возникновения ошибок из-за | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #26, #27, #28 | ||
| 20. Сообщение от Аноним (20), 31-Дек-25, 11:35 | +18 +/– | |
Очень affordable | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #1 Ответы: #89 | ||
| 21. Сообщение от aname (ok), 31-Дек-25, 11:36 | +1 +/– | |
Ох уж эти тысячи глаз | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #13 | ||
| 22. Сообщение от aname (ok), 31-Дек-25, 11:37 | +/– | |
С другой стороны, заявляется, что качество кода улучшено. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #6 | ||
| 23. Сообщение от aname (ok), 31-Дек-25, 11:39 | –1 +/– | |
Не совсем понятно, зачем ему что- то переписывать на C# | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #12 Ответы: #41 | ||
| 24. Сообщение от Аноним (24), 31-Дек-25, 11:41 | +2 +/– | |
"False positives" существовали всегда, если "эксперты по безопасности", проверяющие код AI-инструментами, об этом не в курсе, то это вопрос квалификации таких "экспертов". (Это, конечно же, не отменяет того факта, что AI в его нынешнем состоянии - срущий под себя младенец, пригодный только для выкачивания денег из инвесторов) | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #10 | ||
| 25. Сообщение от Аноним (24), 31-Дек-25, 11:47 | –1 +/– | |
Для исключения уязвимостей в коде на Си достаточно средств, предоставляемых самим Си? Ай, беда-трагедия, как же тогда прогресс двигать, если можно без модных язычков обходиться? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #167 | ||
| 26. Сообщение от Аноним (26), 31-Дек-25, 11:49 | +1 +/– | |
> Хехе, classic. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #19 | ||
| 27. Сообщение от Аноним (26), 31-Дек-25, 11:50 | +1 +/– | |
правка: memcpy, неважно, суть в общем ясна. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #19 | ||
| 28. Сообщение от Аноним (28), 31-Дек-25, 11:51 | +/– | |
> Шикарный йазычог с офигенно продуманной стандартной либой :) | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #19 Ответы: #72 | ||
| 29. Сообщение от Аноним (29), 31-Дек-25, 11:53 | +/– | |
А поцаны, писавшие всю жизнь на паскале и использовавшие для этого string, даже и не знали об этой проблеме. А кто то все еще думает, что паскаль с его строгой типизацией - плохой язык. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #32, #35, #138, #157 | ||
| 30. Сообщение от Аноним (30), 31-Дек-25, 11:58 | +/– | |
Уточнение: | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #17 Ответы: #44 | ||
| 31. Сообщение от Аноним (31), 31-Дек-25, 11:58 | +2 +/– | |
memccpy ему не понравилась? Занулять строку звучит как лютый костыль всё равно, лучше уж abort кидать чтобы баги быстрее пофиксить связанные с неправильным размером буфера. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #39 | ||
32.
Сообщение от warlock (??), 31-Дек-25, 12:13
| +/– | |
string — это который не может быть длиннее 255 символов? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #29 Ответы: #36, #58, #63 | ||
| 33. Сообщение от Аноним (-), 31-Дек-25, 12:20 | +/– | |
Он уже пытался, но неосилил выносить нытье любителей некроплатформ. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #12 Ответы: #43 | ||
| 34. Сообщение от Tron is Whistling (?), 31-Дек-25, 12:22 | +1 +/– | |
Вот что криво в этой реализации - нет отработки варианта slen == dsize и src[slen - 1] == 0. Это вполне себе корректный вариант, который тупо пропущен. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #37, #156 | ||
| 35. Сообщение от Tty4 (?), 31-Дек-25, 12:23 | +1 +/– | |
Паскаль всегда был слишком понятным и эффективным. Если что-то написано - сразу понятно, бред или нет (академический, те физиков и ко, код очень часто бред, просто иногда работает, его в расчет не берём). Очень сложно пускать пыль в глаза, когда Вас легко вывести на чистую воду. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #29 Ответы: #78, #97 | ||
| 36. Сообщение от Аноним (-), 31-Дек-25, 12:27 | +/– | |
Ты что паскаль последний раз видел когда Ельцин был президентом)? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #32 Ответы: #38, #54, #77 | ||
| 37. Сообщение от Аноним (-), 31-Дек-25, 12:35 | +/– | |
Не трогай! Это на новый год! (следущий))) | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #34 | ||
| 38. Сообщение от Аноним (26), 31-Дек-25, 12:39 | +1 +/– | |
> Ты что | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #36 | ||
| 39. Сообщение от Tron is Whistling (?), 31-Дек-25, 12:41 | –4 +/– | |
Шпасибо за идею, ребята, но таки не лучше. Пусть у меня лучше один запрос завалится с непонятным багом, чем всё приложение. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #31 Ответы: #51 | ||
| 40. Сообщение от Фонтимос (?), 31-Дек-25, 12:41 | –1 +/– | |
Ну, питон как-бы популярный, но думаю, сейчас уже не актуальный. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #14 Ответы: #68 | ||
| 41. Сообщение от Фонтимос (?), 31-Дек-25, 12:42 | +/– | |
Да, не, это не слишком актуально сейчас | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #23 Ответы: #162 | ||
| 42. Сообщение от Аноним (-), 31-Дек-25, 12:43 | +1 +/– | |
Охохо, опять strncpy. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #50 | ||
| 43. Сообщение от Фонтимос (?), 31-Дек-25, 12:43 | +/– | |
Бог любит троицу, так-что еще не все потеряно | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #33 | ||
| 44. Сообщение от Аноним (44), 31-Дек-25, 12:44 | +5 +/– | |
Его и первый раз не начали, там растеры сделали какой-то минимальный бекенд и забросили, думая что Даниэль будет сам поддерживать его. А он не стал и просто выбросили его - https://daniel.haxx.se/blog/2024/12/21/dropping-hyper/ | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #30 Ответы: #75 | ||
| 45. Сообщение от Аноним (45), 31-Дек-25, 12:44 | –1 +/– | |
>Теперь все вызовы strcpy() заменены на новую функцию curlx_strcopy | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #53, #67 | ||
| 47. Сообщение от zionist (ok), 31-Дек-25, 12:59 | +/– | |
> Решение является продолжением инициированного в прошлом году отказа от использования функции strncpy(), копирующей заданное число байт из входящей строки. Применение strncpy() создавало опасность возникновения ошибок из-за пропуска нулевого символа в конце строки или добавочного заполнения нулями. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #64, #76 | ||
| 48. Сообщение от zionist (ok), 31-Дек-25, 13:05 | –4 +/– | |
Если уже и переписывать, то на Go. Потому что использование системного языка для простой утилиты выглядит как из пушки по воробьям. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #13 Ответы: #52, #88 | ||
| 50. Сообщение от Аноним (71), 31-Дек-25, 13:14 | +2 +/– | |
Ну и что теперь из-за каждого чтения привет мира нужно городить библиотеку на 10 мегабайт? Раньше операционные системы были меньше 10 мегабайт. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #42 Ответы: #223 | ||
| 51. Сообщение от Аноним (-), 31-Дек-25, 13:20 | +4 +/– | |
> Пусть у меня лучше один запрос завалится с непонятным багом, чем всё приложение. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #39 Ответы: #113, #154 | ||
| 52. Сообщение от Аноним (44), 31-Дек-25, 13:22 | +4 +/– | |
Curl это библиотека - libcurl, а не утилита. С ней линкуется софт, если нужен http/ftp/smtp/pop3/ldap/ssh протоколы. Так что не катит тут твой гоу с его GC, рантаймом и непонятным API. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #48 Ответы: #79 | ||
| 53. Сообщение от Аноним (26), 31-Дек-25, 13:22 | +/– | |
> от безысходности | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #45 Ответы: #108 | ||
| 54. Сообщение от Аноним (44), 31-Дек-25, 13:26 | +/– | |
> Чего дырявым ЯП даже не снилось. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #36 Ответы: #69, #95 | ||
| 56. Сообщение от Аноним (56), 31-Дек-25, 13:33 | +1 +/– | |
А всего-то нужно было Кернигана-Ритчи прочитать. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #1 Ответы: #71, #102 | ||
| 57. Сообщение от Аноним (94), 31-Дек-25, 13:34 | +2 +/– | |
Программирование на чистом Си похоже на письмо по слогам. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #11 Ответы: #60 | ||
| 58. Сообщение от Аноним (29), 31-Дек-25, 13:36 | +1 +/– | |
Неа. Строки были динамические еще со времен TP. Причем за временем жизни следить компилятор. А всякие вот эти strблаблабла из Си - это что то из времен, когда выделять память динамически было слишком дорого, а потому или она выделялась на стеке (привет записывание за пределы буффера, бугага), или использовался некий статический буффер (привет thread-unsafe). Как давно это было? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #32 Ответы: #128, #143, #221 | ||
| 59. Сообщение от Аноним (56), 31-Дек-25, 13:37 | +2 +/– | |
> Поясню, программирование на чистом Си похоже на поэзию. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #11 Ответы: #73, #82, #85 | ||
| 60. Сообщение от Zulu (?), 31-Дек-25, 13:39 | +3 +/– | |
Самурай без меча подобен самураю с мечом, но без меча. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #57 Ответы: #84 | ||
| 62. Сообщение от Аноним (62), 31-Дек-25, 13:39 | –1 +/– | |
Недавно смотрел код этой библиотеки. Код страшноват даже по меркам си. С модульностью как-то тоже не очень, один здоровый монолит. Даже не ясно, кто в здравом уме будет это поддерживать, если автор отойдёт от дел. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #70 | ||
| 63. Сообщение от Аноним (29), 31-Дек-25, 13:40 | +1 +/– | |
Да, на паскале можно писать почти как на скриптовом языке. Можно создать что то типа TList<TMyInterface>, добавлять туда что то без необходимости очищать это добро унылым кодом типа for I := 0 to FList.Count - 1 do FList[I].Free. И даже можно создавать, едрен батон, анонимные объекты, т.е. что то типа MyFunc(TMyObject.Create). | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #32 | ||
| 64. Сообщение от Аноним (56), 31-Дек-25, 13:41 | +1 +/– | |
Надо же было гражданину отличиться. Отличился. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #47 | ||
| 66. Сообщение от Аноним (56), 31-Дек-25, 13:46 | +/– | |
> а могли бы заплатить денег индусам и им бы все накодили | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #9 | ||
| 67. Сообщение от Аноним (44), 31-Дек-25, 13:48 | +2 +/– | |
>[оверквотинг удален] | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #45 Ответы: #111 | ||
| 68. Сообщение от Аноним (56), 31-Дек-25, 13:50 | +/– | |
> Ну, питон как-бы популярный | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #40 Ответы: #180 | ||
| 69. Сообщение от Аноним (-), 31-Дек-25, 13:52 | +1 +/– | |
> В Си строки | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #54 Ответы: #74 | ||
| 70. Сообщение от Аноним (71), 31-Дек-25, 13:53 | +/– | |
ИИ будет поддерживать. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #62 | ||
| 71. Сообщение от Аноним (71), 31-Дек-25, 13:55 | +8 +/– | |
И иконку перед монитором чтобы она защищала написанный код. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #56 | ||
| 72. Сообщение от Аноним (56), 31-Дек-25, 13:57 | +2 +/– | |
> Microsoft ещё в ранних Visual Studio сделала, чтобы компилятор ругался. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #28 | ||
| 73. Сообщение от cnjzxir (?), 31-Дек-25, 13:57 | –1 +/– | |
Можно примеры? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #59 | ||
| 74. Сообщение от Аноним (44), 31-Дек-25, 14:05 | +/– | |
> А в СИ есть строки? Вот это новость!!! | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #69 Ответы: #81, #83, #98 | ||
| 75. Сообщение от morphe (?), 31-Дек-25, 14:05 | –2 +/– | |
Он же прямо говорит что вместе с теми кто этот бекенд и добавил решили что оно не нужно, функциональность слишком сильно дублирует то что в curl уже есть, не давая особых преимуществ, но при этом усложняя сборку | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #44 | ||
| 76. Сообщение от Аноним (-), 31-Дек-25, 14:06 | –1 +/– | |
> Каким образом можно пропустить нулевой символ в конце строки | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #47 Ответы: #114, #116, #122 | ||
| 77. Сообщение от morphe (?), 31-Дек-25, 14:08 | +2 +/– | |
> но еще и Unicode | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #36 Ответы: #104 | ||
| 78. Сообщение от Аноним (29), 31-Дек-25, 14:08 | +1 +/– | |
Я сейчас пишу на C/C++. Да, я тормоз. Когда все писали на C, я писал на паскале. Когда все пишут на Rust, я пишу на C/C++. Ну что могу сказать. У C/C++ есть свои плюсы, но и свои минусы, типа невозможности присваивать массивы и необходимости кастовать enum в int. Но если я реально хочу быстро написать какую-то прогу без лишних заморочек и мозголомства - я все равно запускаю Lazarus. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #35 | ||
| 79. Сообщение от zionist (ok), 31-Дек-25, 14:09 | –2 +/– | |
Всегда использовали лишь как утилиту. А какой именно софт с libcurl линкуется? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #52 Ответы: #90, #106, #115, #217, #228 | ||
| 81. Сообщение от morphe (?), 31-Дек-25, 14:10 | +1 +/– | |
> И какая тут проблема у вас? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #74 Ответы: #96 | ||
| 82. Сообщение от Аноним (-), 31-Дек-25, 14:11 | –1 +/– | |
> Абсолютно согласен. Мне напоминает Маяковского | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #59 Ответы: #99 | ||
| 83. Сообщение от Аноним (-), 31-Дек-25, 14:13 | +1 +/– | |
> В асме "строки" это просто массив байт, ровно как и в Си. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #74 Ответы: #153 | ||
| 84. Сообщение от Аноним (94), 31-Дек-25, 14:14 | +/– | |
Но не все хотят быть самураями. Поэтому сейчас для микроконтроллеров мало кто пишет на ассемблере. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #60 | ||
| 85. Сообщение от Аноним (94), 31-Дек-25, 14:19 | –1 +/– | |
Си и эстетика... сомнительно совместимые понятия. Но Раст, в этом плане, ещё хуже. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #59 Ответы: #142 | ||
| 86. Сообщение от Аноним (94), 31-Дек-25, 14:20 | +/– | |
Начнут переписывать. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #13 | ||
| 88. Сообщение от Аноним (94), 31-Дек-25, 14:25 | –2 +/– | |
>Потому что использование системного языка для простой утилиты выглядит как из пушки по воробьям. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #48 | ||
| 89. Сообщение от Аноним (89), 31-Дек-25, 14:26 | +6 +/– | |
И что только сишники не наворотят, лишь бы паскаль не изучать. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #20 Ответы: #94, #118, #165 | ||
| 90. Сообщение от Аноним (30), 31-Дек-25, 14:27 | +/– | |
запчасти системд, например | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #79 | ||
| 91. Сообщение от Аноним (94), 31-Дек-25, 14:28 | +1 +/– | |
Обязательно null terminated строки тоже можно считать managed. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #5 | ||
| 92. Сообщение от Аноним (89), 31-Дек-25, 14:29 | –1 +/– | |
> Это какой-то.... позор? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #6 | ||
| 93. Сообщение от Аноним (94), 31-Дек-25, 14:30 | +/– | |
После выкидывания выяснится, что термометр показывал в Кельвинах. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #7 Ответы: #112 | ||
| 94. Сообщение от Аноним (94), 31-Дек-25, 14:33 | +1 +/– | |
Утомительны эти ваши begin/endы. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #89 Ответы: #126, #213 | ||
| 95. Сообщение от Аноним (89), 31-Дек-25, 14:34 | +/– | |
> В Си строки вообще никогда не были ограничены по длинне | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #54 | ||
| 96. Сообщение от fi (ok), 31-Дек-25, 14:36 | –1 +/– | |
А вот не надо "С utf-16 при конвертации в utf-8" делать, что за детские ошибки? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #81 Ответы: #103 | ||
| 97. Сообщение от Аноним (29), 31-Дек-25, 14:36 | –2 +/– | |
АААААААААААААА. Ну кто-нибудь, скажите этим разработчикам Си, что они дебилы. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #35 Ответы: #101, #150 | ||
| 98. Сообщение от Аноним (89), 31-Дек-25, 14:37 | +/– | |
> в Си нет никаких строк, как и в ассемблере. В асме "строки" это просто массив байт, ровно как и в Си. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #74 Ответы: #110 | ||
| 99. Сообщение от Аноним (-), 31-Дек-25, 14:38 | +1 +/– | |
>Т.е главное как оно выглядит, как работает уже не важно))? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #82 Ответы: #170, #182 | ||
| 101. Сообщение от Аноним (89), 31-Дек-25, 14:42 | +/– | |
Потому что паскаль сочинял Вирт, а си - будущие сишники. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #97 | ||
| 102. Сообщение от seg (?), 31-Дек-25, 14:43 | +/– | |
Теперь хотя бы понятно за что сишников хейтят. А все как всегда - не читал, но проповедую. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #56 Ответы: #117 | ||
| 103. Сообщение от morphe (?), 31-Дек-25, 14:45 | +1 +/– | |
> wchar_t (32bits), с ним и работаем | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #96 | ||
| 104. Сообщение от Аноним (29), 31-Дек-25, 14:49 | +/– | |
Это в Delphi. В Lazarus UTF8. И я лично не понимаю линуксовую истерику по поводу UTF16. Вы должны понять одну простую вещь. UTF8 эффективен только если вы с US или GB и пишете на чистом английском. Как только вы начинаете использовать в строке региональные буковки - UTF16 становится в среднем более эффективным по памяти, чем UTF8. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #77 Ответы: #107, #152 | ||
| 106. Сообщение от Аноним (44), 31-Дек-25, 14:53 | +1 +/– | |
1. Мой софт, в котором мне надо по HTTPS коннектиться к вебсерверу | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #79 | ||
| 107. Сообщение от morphe (?), 31-Дек-25, 14:54 | +/– | |
> Как только вы начинаете использовать в строке региональные буковки - UTF16 становится в среднем более эффективным по памяти, чем UTF8. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #104 Ответы: #109 | ||
| 108. Сообщение от Аноним (45), 31-Дек-25, 14:57 | –1 +/– | |
>сами ведь утверждаете. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #53 | ||
| 109. Сообщение от morphe (?), 31-Дек-25, 14:58 | +1 +/– | |
> исключительно из арабского и китайского, при этом не любого | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #107 | ||
| 110. Сообщение от Аноним (44), 31-Дек-25, 14:58 | +/– | |
Я не понимаю нафига ты тут кривляешься - вставляешь в середину 0 и всё, strlen() выдаст кол-во байт до этого 0 в середине. А как должно быть? До последнего 0? А где он этот последний, в самом конце виртуального адресного пространства процесса? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #98 Ответы: #131 | ||
| 111. Сообщение от Аноним (111), 31-Дек-25, 14:59 | +/– | |
См. рис. 1. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #67 | ||
| 112. Сообщение от Tron is Whistling (?), 31-Дек-25, 15:06 | +/– | |
> После выкидывания выяснится, что термометр показывал в Кельвинах. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #93 | ||
| 113. Сообщение от Tron is Whistling (?), 31-Дек-25, 15:07 | +/– | |
Ну, смотря что вам приоритетнее. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #51 | ||
| 114. Сообщение от Tron is Whistling (?), 31-Дек-25, 15:09 | +/– | |
Из-за потерянного что? \0 может быть? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #76 | ||
| 115. Сообщение от Gemorroj (ok), 31-Дек-25, 15:10 | +1 +/– | |
php, например. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #79 | ||
| 116. Сообщение от Аноним (116), 31-Дек-25, 15:13 | +/– | |
Функция конечно проблемная, но её проблемы можно обойти без особо сложной арифметики. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #76 Ответы: #140 | ||
| 117. Сообщение от Вася (??), 31-Дек-25, 15:15 Скрыто ботом-модератором | +4 +/– | |
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #102 Ответы: #133 | ||
| 118. Сообщение от Аноним (-), 31-Дек-25, 15:16 | +1 +/– | |
В современном паскале страшный зоопарк строк. Там есть алиас string который компилятор заменяет на ansistring (однобайтовые символы + кодировка) или widestring (двухбайтовые ютф) или shortstring(это как первые только не длинее 255 символов и длина в первом байте). И есть ещё указатели на соответсвующие типы символов для каждой строки, которые могут указывать на целую строку пока не встретится нулевой (крч, логика как в си). В чистых паскалевских проектах строки вообще не доставляют проблем, но вот когда нужно выйти из манямирка и обратится к библиотеке на си, то строки сразу прекращаются в ужс-ужс череватый сегфолтами. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #89 Ответы: #148 | ||
| 119. Сообщение от zionist (ok), 31-Дек-25, 15:23 | +/– | |
Адаптированный пример использования strncpy из второго издания K&R: | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #163, #188 | ||
| 120. Сообщение от Кошкажена (?), 31-Дек-25, 15:23 | +/– | |
Почему не сделать структуру строки с размером, например, как в Glib? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #123, #225 | ||
| 121. Сообщение от RM (ok), 31-Дек-25, 15:37 | +/– | |
> Это какой-то.... позор? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #6 | ||
| 122. Сообщение от Аноним (44), 31-Дек-25, 15:39 | +1 +/– | |
> Потому что в сишечке строк нет, а есть убогие char*. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #76 Ответы: #137, #147, #224 | ||
| 123. Сообщение от Аноним (44), 31-Дек-25, 15:41 | +/– | |
Потому что это библа, в которые данные приходят снаружи, где нет этих структур. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #120 Ответы: #124, #125 | ||
| 124. Сообщение от Кошкажена (?), 31-Дек-25, 15:42 | +/– | |
> Потому что это библа, в которые данные приходят снаружи, где нет этих | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #123 Ответы: #127 | ||
| 125. Сообщение от Кошкажена (?), 31-Дек-25, 15:43 | +/– | |
> Потому что это библа, в которые данные приходят снаружи, где нет этих | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #123 Ответы: #200 | ||
| 126. Сообщение от Аноним (126), 31-Дек-25, 15:43 | +/– | |
С разморозкой! Они проставляются современными редакторами кода автоматически. И уже очень давно. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #94 Ответы: #130 | ||
| 127. Сообщение от Аноним (44), 31-Дек-25, 15:44 | +/– | |
Ну дак оборачивай и передавай. Только патч автору не забудь прислать, в котором все операции со строками внутри libcurl заменены на твою структуру. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #124 Ответы: #129 | ||
| 128. Сообщение от Аноним (-), 31-Дек-25, 15:44 | +/– | |
Респект за TInterfacedObject! | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #58 | ||
| 129. Сообщение от Кошкажена (?), 31-Дек-25, 15:46 | +/– | |
> Ну дак оборачивай и передавай. Только патч автору не забудь прислать, в | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #127 Ответы: #146 | ||
| 130. Сообщение от Анлним (?), 31-Дек-25, 15:54 | +/– | |
Каеф. Бесполезные символы (как и {}) прославляются автоматически, вместо того чтобы просто от них избавиться | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #126 Ответы: #168 | ||
| 131. Сообщение от Аноним (-), 31-Дек-25, 16:13 | +1 +/– | |
> strlen() выдаст кол-во байт до этого 0 в середине. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #110 | ||
132.
Сообщение от Roman Dyaba (ok), 31-Дек-25, 16:19
| +/– | |
Во первых это void, во вторых это вообще всё бред сивой кобылы в лунную ночь ! | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #134 | ||
| 133. Сообщение от Аноним (133), 31-Дек-25, 16:27 | +/– | |
А я, вот, обычный юзверь. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #117 Ответы: #183 | ||
| 134. Сообщение от Кошкажена (?), 31-Дек-25, 16:28 | +/– | |
В комментариях по ссылке он пишет почему возвращает void. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #132 Ответы: #139 | ||
| 135. Сообщение от Аноним (136), 31-Дек-25, 16:32 | –1 +/– | |
Какой же хороший язык си. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 136. Сообщение от Аноним (136), 31-Дек-25, 16:33 | –1 +/– | |
Кресты нужно закопать, за время компиляции. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #3 Ответы: #181, #184 | ||
| 137. Сообщение от Аноним (-), 31-Дек-25, 16:33 | –1 +/– | |
> Какие-такие строки? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #122 | ||
| 138. Сообщение от Аноним (136), 31-Дек-25, 16:34 | –1 +/– | |
>А поцаны, писавшие всю жизнь на паскале | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #29 Ответы: #151 | ||
| 139. Сообщение от Аноним (-), 31-Дек-25, 16:38 | +/– | |
> В комментариях по ссылке он пишет почему возвращает void. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #134 Ответы: #177, #192 | ||
| 140. Сообщение от Аноним (-), 31-Дек-25, 16:50 | +/– | |
> Вставьте эти 5 строк в начале файла и Ваш код заработает как должен. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #116 | ||
| 141. Сообщение от Тон (?), 31-Дек-25, 16:51 | –1 +/– | |
Смотря какой fabric | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #1 | ||
| 142. Сообщение от Аноним (142), 31-Дек-25, 16:58 | –1 +/– | |
Скажите, какой ЯП по-вашему эстетичен? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #85 Ответы: #171 | ||
| 143. Сообщение от Аноним (26), 31-Дек-25, 17:27 | +/– | |
> Неа. Строки были динамические еще со времен TP. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #58 | ||
144.
Сообщение от sena (ok), 31-Дек-25, 17:27
| –1 +/– | |
С++, к сожалению, тоже полностью не избавился строк с нулевым терминатором. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #3 Ответы: #230 | ||
| 145. Сообщение от Аноним (-), 31-Дек-25, 17:29 | +/– | |
Многие люди никак не могут понять то, что в настоящем языке программирования вообще не должно быть строкового типа. И дело не в том, насколько низок этот язык. Для работы со строками должны быть отдельные, не входящие в язык функции, модули или процедуры. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #159, #173 | ||
| 146. Сообщение от Аноним (44), 31-Дек-25, 17:33 | +/– | |
Дело в том что внешний интерфейс должен оставаться стабильным. Как ты предлагаешь сделать своё решение, чтоб существующий софт продолжил работать, если кто-то решит обновить libcurl на версию с этой твоей структурой? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #129 Ответы: #176 | ||
| 147. Сообщение от Аноним (147), 31-Дек-25, 17:34 | +/– | |
Просто кто-то гуманитариям неправильно объяснил что такое программирование. Пора уже привыкнуть | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #122 | ||
148.
Сообщение от Ivan (??), 31-Дек-25, 17:40
| +2 +/– | |
Я там игрался немного. UTF-8 внутри ansi string представляется идеальным вариантом. Для legacy проектов, завязанных на широкие символы как-в-Винде (Free Vision, например, зачем-то именно так портировали) — wide string. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #118 Ответы: #149 | ||
149.
Сообщение от Ivan (??), 31-Дек-25, 17:44
| +3 +/– | |
> внутри ansi string | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #148 | ||
| 150. Сообщение от Аноним (44), 31-Дек-25, 17:45 | +1 +/– | |
Потому что ты прикинулся шлангом и сохраняешь массив в массив, используя их имена. А имя массива - это константный адрес, что ты тут ожидал получить? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #97 | ||
| 151. Сообщение от Аноним (44), 31-Дек-25, 17:52 | +/– | |
Софтом на паскале никто не пользуется и его исчезающе мало - поэтому никто про испорченную память там не знает. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #138 | ||
| 152. Сообщение от Аноним (-), 31-Дек-25, 17:54 | +/– | |
> Как только вы начинаете использовать в строке региональные буковки - UTF16 становится в среднем более эффективным по памяти, чем UTF8. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #104 Ответы: #158, #206 | ||
153.
Сообщение от warlock (??), 31-Дек-25, 18:28
| –1 +/– | |
Если вам зачем-то нужно знать длину строки в кодепойнтах, это очень сильный маркер, что вы что-то делаете неправильно. Это универсальное правило применимое как к UTF-8 так и к UTF-16. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #83 | ||
| 154. Сообщение от User (??), 31-Дек-25, 18:28 | +/– | |
Remote root то ли будет, то ли нет - можа и вовсе следующие 20 лет не найдут - а премия вот она, и хрен ты её с не работающим кодом получишь... | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #51 | ||
| 155. Сообщение от анонимус (??), 31-Дек-25, 18:28 | +2 +/– | |
Не перепишут. Ведь ты не в курсе, что количество поддерживаемых архитектур на которых работае curl раз в 5 больше, чем их поддерживает Rust. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #13 | ||
156.
Сообщение от warlock (??), 31-Дек-25, 18:41
| +1 +/– | |
Нет, это некорректный вариант. slen — это длина строки не включая 0. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #34 Ответы: #174, #175 | ||
| 157. Сообщение от Аноним (157), 31-Дек-25, 18:41 | +/– | |
Интересно, не знал что паскаль считается плохим языком. Спасибо за информацию. В таком случае лучше его не использовать? Какой язык посоветуете? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #29 Ответы: #222 | ||
| 158. Сообщение от Аноним (-), 31-Дек-25, 18:42 | +/– | |
Проснись мудак ASCII давно нету. Есть Базовая латинница стандарта Юникод. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #152 Ответы: #164 | ||
| 159. Сообщение от Петр Турбо (?), 31-Дек-25, 19:07 | +/– | |
А я говорю все языки плохие потому что из коброки нету строк, точка! | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #145 Ответы: #197 | ||
| 160. Сообщение от aa (?), 31-Дек-25, 19:12 | –1 +/– | |
будет ли он избавляться от strdup который питонисты принесли в стандарт С? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #189 | ||
| 161. Сообщение от Аноним (161), 31-Дек-25, 19:32 | +1 +/– | |
остаётся carbon | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #178, #190 | ||
| 162. Сообщение от aname (ok), 31-Дек-25, 19:34 | +1 +/– | |
> Да, не, это не слишком актуально сейчас | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #41 | ||
| 163. Сообщение от Аноним (163), 31-Дек-25, 19:37 | +/– | |
> Покритикуйте дедов. В чём они тут ошибались? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #119 Ответы: #199 | ||
| 164. Сообщение от Аноним (-), 31-Дек-25, 19:53 | +/– | |
Мне плевать. Даже если она и есть, то это не базовая _латинница_, а ASCII: там не только a-zA-Z, но ещё цыфры, знаки препинания и управляющие символы. Если у кого-то зуд переименовывать устоявшиеся названия, типа ASCII, то пускай он хотя бы названия научится удачные придумывать. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #158 Ответы: #194 | ||
| 165. Сообщение от Аноним (165), 31-Дек-25, 20:03 | +1 +/– | |
Верно. Кто о чем, а сишники все буфер считают, вместо того, чтобы праздновать Новый год) | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #89 | ||
| 166. Сообщение от Аноним (166), 31-Дек-25, 20:24 | +1 +/– | |
Когда говорят, что весь мир написан на Си - это повод ужаснуться. С такими проблемами ковыряться в 2025 это своё время не ценить. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #179 | ||
| 167. Сообщение от PROgrm_JARvis (ok), 31-Дек-25, 20:32 | +/– | |
Настолько достаточно, что оно требует своего per-project велосипеда, делает рантайм-проверку (а в релизных билдах и на неё забивает), и требует не забывать за собой таскать длину отдельной перменной которую ну разумеется нельзя перепутать (нет) | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #25 | ||
| 168. Сообщение от Илья (??), 31-Дек-25, 20:53 | +1 +/– | |
А альтернатив-то и нет. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #130 Ответы: #216 | ||
| 169. Сообщение от Илья (??), 31-Дек-25, 20:55 | +1 +/– | |
>питон | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #9 | ||
| 170. Сообщение от Илья (??), 31-Дек-25, 21:04 | +/– | |
>Кен Томпсон с тобой не согласен | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #99 Ответы: #196 | ||
| 171. Сообщение от Илья (??), 31-Дек-25, 21:04 | +/– | |
С# | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #142 Ответы: #218 | ||
| 172. Сообщение от anonymous (??), 31-Дек-25, 21:32 | +/– | |
Когда уже строки вместо указателей сделают? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #1 | ||
| 173. Сообщение от Илья (??), 31-Дек-25, 21:35 | +/– | |
> в настоящем языке программирования вообще | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #145 Ответы: #195 | ||
| 174. Сообщение от Tron is Whistling (?), 31-Дек-25, 21:40 | +/– | |
Смотря что считать длиной, да. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #156 | ||
| 175. Сообщение от Tron is Whistling (?), 31-Дек-25, 21:42 | +/– | |
Если не включая 0 - тогда всё как бы, ну, будем считать, что ок. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #156 | ||
| 176. Сообщение от Кошкажена (?), 31-Дек-25, 21:44 | +1 +/– | |
> Дело в том что внешний интерфейс должен оставаться стабильным. Как ты предлагаешь | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #146 | ||
| 177. Сообщение от Кошкажена (?), 31-Дек-25, 21:45 | +1 +/– | |
>> В комментариях по ссылке он пишет почему возвращает void. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #139 Ответы: #185 | ||
| 178. Сообщение от Кошкажена (?), 31-Дек-25, 21:47 | +/– | |
> остаётся carbon | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #161 | ||
| 179. Сообщение от Кошкажена (?), 31-Дек-25, 21:52 | +/– | |
> Когда говорят, что весь мир написан на Си - это повод ужаснуться. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #166 Ответы: #186, #215 | ||
| 180. Сообщение от Аноним (183), 31-Дек-25, 22:20 | +/– | |
А не ставьте их слишком много на один блок кода - не ошибётесь. Например, два, всегда легко посчитать. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #68 | ||
| 181. Сообщение от Аноним (183), 31-Дек-25, 22:24 | +/– | |
Но языке без метапрограммирования уже никто всерьёз не воспринимает. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #136 | ||
| 182. Сообщение от Аноним (-), 31-Дек-25, 22:33 | +/– | |
> Ой не надо так драматизировать, ошибки исправляются. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #99 Ответы: #198 | ||
| 183. Сообщение от Аноним (183), 31-Дек-25, 22:33 | +1 +/– | |
> И с голангом и растом все проще, положил статический бинарник в .local/bin | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #133 | ||
| 184. Сообщение от Аноним (-), 31-Дек-25, 22:37 | +/– | |
> за время компиляции | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #136 Ответы: #220 | ||
| 185. Сообщение от Аноним (-), 31-Дек-25, 22:39 | +/– | |
> we still use C89 in curl… | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #177 Ответы: #207 | ||
| 186. Сообщение от Аноним (-), 31-Дек-25, 22:43 | –1 +/– | |
> А qt как работал 20 лет назад, так и работает как часики. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #179 Ответы: #208, #209 | ||
188.
Сообщение от warlock (??), 31-Дек-25, 22:47
| +/– | |
Не по теме, но в программе весьма типичная ошибка программ на C: возвращается указатель на локальную переменную. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #119 Ответы: #191 | ||
| 189. Сообщение от Аноним (189), 31-Дек-25, 22:53 | +/– | |
один питонист отметился :) | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #160 | ||
| 190. Сообщение от Аноним (-), 31-Дек-25, 22:55 | +/– | |
Не, карбон пока не остается) | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #161 | ||
| 191. Сообщение от zionist (ok), 31-Дек-25, 22:56 | +1 +/– | |
Нет никакой ошибки. Эта переменная статическая и указатель на неё возвращать можно. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #188 Ответы: #193 | ||
192.
Сообщение от warlock (??), 31-Дек-25, 22:57
| +/– | |
Есть две сильно разных области применения программного обеспечения. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #139 | ||
193.
Сообщение от warlock (??), 31-Дек-25, 23:18
| +/– | |
Точно, проглядел. Мне позор, а автору оторвать руки за такой код. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #191 Ответы: #201 | ||
| 194. Сообщение от Аноним (196), 31-Дек-25, 23:25 | +/– | |
Ну ты и мудак. Однобайтный ASCII с 128 символами полность перенесён в Юникод. Тепрь он называется "Основная латиница". Чувак если то кончается 2025 год. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #164 Ответы: #204 | ||
| 195. Сообщение от Аноним (196), 31-Дек-25, 23:26 | +1 +/– | |
Вантузный Си-шарп некомпилируемый язык. Ему можно. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #173 | ||
| 196. Сообщение от Аноним (196), 31-Дек-25, 23:28 | +/– | |
Контраргументов нет. Поэтому пошло хамство. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #170 | ||
| 197. Сообщение от Аноним (197), 31-Дек-25, 23:28 | +1 +/– | |
В FreePascal и Delphi есть string и он там крутой. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #159 Ответы: #214 | ||
| 198. Сообщение от Аноним (196), 31-Дек-25, 23:32 | +/– | |
>Надеюсь ты такого не услышишь от своего врача или мамы)) | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #182 | ||
| 199. Сообщение от zionist (ok), 31-Дек-25, 23:34 | +/– | |
Будет ли исходная строка обрезана можно узнать заранее, просто сравнив её длину с третьим аргументов strncpy. Как правило такая ситуация означает ошибку и следовательно исключает саму необходимость вызывать strncpy или strcpy. Си строки заканчиваются нулевым символом и забывать об этом нельзя никогда. Соглашусь лишь в одном - функция strncpy предназначена для _полного_ заполнения результирующего буфера. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #163 | ||
| 200. Сообщение от Аноним (26), 31-Дек-25, 23:35 | +/– | |
> Или кто мешает | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #125 Ответы: #205 | ||
| 201. Сообщение от zionist (ok), 31-Дек-25, 23:36 | +1 +/– | |
Его руки создали UNIX. Чем вам не угодили статические переменные? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #193 Ответы: #210 | ||
| 204. Сообщение от morphe (?), 31-Дек-25, 23:40 | +/– | |
> Ну ты и мудак. Однобайтный ASCII с 128 символами полность перенесён в | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #194 | ||
| 205. Сообщение от Кошкажена (?), 31-Дек-25, 23:41 | +/– | |
>> Или кто мешает | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #200 Ответы: #219 | ||
| 206. Сообщение от morphe (?), 31-Дек-25, 23:41 | +/– | |
> Кириллические кодируются двумя, но | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #152 | ||
| 207. Сообщение от Кошкажена (?), 31-Дек-25, 23:42 | +/– | |
>> we still use C89 in curl… | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #185 | ||
| 208. Сообщение от Кошкажена (?), 31-Дек-25, 23:50 | +/– | |
>> А qt как работал 20 лет назад, так и работает как часики. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #186 | ||
| 209. Сообщение от Кошкажена (?), 31-Дек-25, 23:54 | +/– | |
>> Буквально можно открыть книжку по qt 4, прочитать и перейти на 6. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #186 | ||
210.
Сообщение от warlock (??), 01-Янв-26, 00:04
| +/– | |
У статических переменных много проблем. Теряется реентерабельность, multi-thread safety. Даже просто два вызова подряд уже проблема. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #201 Ответы: #211 | ||
| 211. Сообщение от zionist (ok), 01-Янв-26, 00:22 | +/– | |
Так вам и глобальные переменные не по душе? Статические переменные внутри функций - это те же глобальные переменные, но с ограниченной зоной видимости в коде. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #210 Ответы: #212 | ||
212.
Сообщение от warlock (??), 01-Янв-26, 00:36
| +/– | |
Глобальные переменные хуже, так как могут ещё и неявную связь между разными функциями создавать. Статические переменные в любом виде, кроме констант и конструкций, эквивалентным константам, -- очень серьёзный антипаттерн, который не должен применяться по сути никогда (кроме тех редких случаев когда должен). | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #211 | ||
| 213. Сообщение от Аноним (89), 01-Янв-26, 00:43 | +/– | |
> Утомительны эти ваши begin/endы. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #94 | ||
| 214. Сообщение от Аноним (89), 01-Янв-26, 00:49 | +/– | |
И лучше пока никто не придумал, даже в плюсах. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #197 | ||
| 215. Сообщение от Аноним (215), 01-Янв-26, 01:20 | –1 +/– | |
> Создавай новый мир с чудным unsafe и ковряйся в нем | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #179 | ||
| 216. Сообщение от Аноним (216), 01-Янв-26, 01:54 | +/– | |
Почему нет? А как же питон? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #168 | ||
| 217. Сообщение от Rezzet (??), 01-Янв-26, 02:01 | +/– | |
Да почти весь который использует сеть, libcurl это единственный внятный способ получить http в программе или библиотеке. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #79 | ||
| 218. Сообщение от Rezzet (??), 01-Янв-26, 02:10 | +/– | |
Может быть С# или Go или Пистон эстетичны и лаконичны, но это только если не вдаваться какая дичь там под капотом творится и что сначала им нужен их рантайм(или виртуальная машина) и уже потом они будут исполняться и простые строчки кода будет превращаться в тонны и трилионы процессорных инструкций, а потом еще прийдет сборщик мусора и скажет: "подожжжжждите, я поработаю" и в итоге ваша лаконичная и красивая программа превращается в неизвестно что с точки зрения инструкций процессора. Поэтому на Си/С++ писали, пишут и будут писать столько сколько существует плюс/минус текущая архитектура процессоров(не важно АРМ или х86, или Риск ) все они плюс минус похожи и при определенной сноровке и понимания процесса можно глядя на Си/С++ код понять в какой набор инструкций он будет разворачиваться. По сути Си/С++ это более человеческий способ писать на ассемблере. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #171 Ответы: #229 | ||
| 219. Сообщение от Аноним (26), 01-Янв-26, 02:10 | +/– | |
> Им итак никто не выделает. Но оно уже качественное, раз работает в куче софта каждый день. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #205 | ||
| 220. Сообщение от Аноним (136), 01-Янв-26, 02:41 | +/– | |
>Нормальные люди не пересобирают софт для каждого пользователя | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #184 | ||
| 221. Сообщение от _ (??), 01-Янв-26, 03:53 | +/– | |
> А паскаль - эт ваще чудо. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #58 | ||
| 222. Сообщение от _ (??), 01-Янв-26, 03:57 | +/– | |
High Valyrian эстэстффенно ... | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #157 | ||
| 223. Сообщение от Аноним (136), 01-Янв-26, 04:58 | +/– | |
Раньше и компьютеров не было, а большинство людей были крестьянами. Не хотите вернуться? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #50 | ||
| 224. Сообщение от Аноним (136), 01-Янв-26, 05:01 | +/– | |
>Покажи мне строки в ассемблере! | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #122 Ответы: #226 | ||
| 225. Сообщение от Аноним (136), 01-Янв-26, 05:02 | +/– | |
Ну вот возьми и сделай, в чём проблема? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #120 | ||
| 226. Сообщение от Аноним (44), 01-Янв-26, 05:10 | +/– | |
> Покажите мне современный софт на ассемблере, а не поддерлки типа колибри. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #224 | ||
| 227. Сообщение от Аноним12345 (?), 01-Янв-26, 05:24 | +/– | |
и это сломають | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 228. Сообщение от чтд (?), 01-Янв-26, 07:25 | +/– | |
внезапно тот же ржавый. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #79 | ||
| 229. Сообщение от Илья (??), 01-Янв-26, 07:32 | +/– | |
>Может быть С# или Go или Пистон | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #218 | ||
| 230. Сообщение от Аноним (-), 01-Янв-26, 08:26 | +1 +/– | |
Что за дурость критиковать нуль-терминированность. Чем предлагаешь помечать конец строки? Своим помётом? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #144 Ответы: #231 | ||
231.
Сообщение от warlock (??), 01-Янв-26, 10:22
| +/– | |
А зачем вообще помечать конец строки? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #230 Ответы: #232 | ||
| 232. Сообщение от Сказочный (?), 01-Янв-26, 11:10 | +/– | |
Или так, или явно указывать ее размер, но тогда это уже будет не просто строка. Как иначе узнать что строка закончилась и надо прекратить читать память? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #231 Ответы: #233 | ||
233.
Сообщение от warlock (??), 01-Янв-26, 11:33
| +/– | |
Что значит "не просто строка"? Как раз обычная, нормальная строка, состоящая из указателя и длины. А вот нуль-терминированные строки -- это совсем не просто строки. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #232 | ||
|
Архив | Удалить |
Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема |
|
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |