|
ru.nethack- RU.NETHACK ------------------------------------------------------------------- From : Dmitry Radishev 2:5015/42 16 Dec 2002 15:24:40 To : Nick Lepehin Subject : Null Poison fro Perl -------------------------------------------------------------------------------- Saturday December 14 2002 20:20, Nick Lepehin wrote to Dmitry Radishev: DR>> Повторяю. В асме нет удобных штатных средств. В си есть удобное DR>> штатное средство - но оно ненадежно, и есть неудобное штатное DR>> средство. Лучше бы в си либо не было бы удобного но ненадежного, DR>> либо не было бы вообще никакого. А так - имеем что имеем. NL> А знаешь, fork удобнее printf'а, параметров гораздо меньше, лучше бы NL> c не имел printf'а, не правда ли? Разумеется да - если, конечно, ты расскажешь как при помощи fork делать форматированный вывод. Сколько форком не пользовался - не знал, что не его основе можно изобразить функциональность printf. Кстати, заодно не напомнишь, в чем нехорошесть именно printf? В чем нехорошесть sprintf (и хорошесть snprintf) я знаю, а чем printf так провинился? DR>> asciz не позволяет работать с бинарными данными как со строками. DR>> Поэтому он хуже типа с явным указанием длины строки. А уж какого DR>> он при этом уровня - мне не очень важно, важно что он DR>> ограничивает, когда мог бы этого не делать. NL> Ты вправе всегда пользоваться функами mem* с тем же успехом что и NL> str* ;) Мне, пожалуйста, mem* аналог strlen и strcat. Я уж, так и быть, не буду просить mem* аналог snprintf :-) Как только выясняется, что asciz в конкретной задаче ограничивает - приходится ввиду отсутствия адекватной штатной замены _весь_ велосипед изобретать заново, а не просто земенить str* на mem*. К сожалению, нередко такие задачи появляются уже после начала эксплуатации программы, и поэтому что-то исправлять уже поздно. А если бы в си были бы человеческие строки - таких ситуаций было бы меньше. DR>> Имеет отношение к libc. А то так мы скоро договоримся до того, DR>> что "язык за свой рантайм не отвечает", и в си вообще всё прямо и DR>> параллельно, и даже asciz почти нигде нет :-) NL> Ты правильно сказал - не отвечает язык за конкретный рантайм NL> конкретного компилятора, абсолютно. Глюки, которые встречаются в NL> рантаймах отдельных NL> компиляторов ни в каком страшном сне не могли приснится КиР'ам. Давай NL> начнем записывать стандарты в отстои на основе их реализаций - весь NL> мир отстоем будет. Извини, формат const char* (с нулем в конце) разве имеет отношение к рантайму? А рантайм (пресловутые str* и *printf/scanf) разве не является частью стандарта на язык? Или КиР разработали только синтаксис, а базовый рантайм злобные юниксоиды придумали? Hе надо путать глюки конкретных реализаций рантайма и глюки _спецификации_ рантайма. А рантайм я готов рассматривать отдельно от компилятора не раньше, чем ты предъявишь компилятор (не для embedded, а для "ОС общего назначения"), штатно идущий с "альтернативным" рантаймом. All the best //DiBR [TEAM ВСЕ МАСТДАЙ] [шестая базовая] [http://dibr.nnov.ru] --- [LPT] LaMerZ PrOfeSsIoNaL TeaM /member/ * Origin: Lamers Must Survive (2:5015/42) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.nethack/18153dfde4c6.html, оценка из 5, голосов 10
|