|
2.2, Аноним (2), 11:23, 08/04/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
Но только для уязвимостей класса arbitrary code execition в printf.
| |
|
1.4, Аноним (-), 12:52, 08/04/2022 [ответить] [﹢﹢﹢] [ · · · ]
| –7 +/– |
>Код Musl поставляется под свободной лицензией MIT.
И в этом кроется фатальная ошибка. Надо перелицензировать на копилефт.
| |
|
2.6, Аноним (6), 13:54, 08/04/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
зачем? пермиссив - это одно из преимуществ перед жолибцой.
| |
|
3.48, Аноним (-), 16:51, 09/04/2022 [^] [^^] [^^^] [ответить]
| +/– |
Поэтому там комитит узкая группа лиц, получая толпу корпоративных паразитов на хребет. Корпам так то удобнее, конечно...
| |
|
|
1.9, Аноним (9), 15:03, 08/04/2022 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
Изучал и то и то!
Качество кода и там и там полный трешак. Я бы даже сказал, что это пособие по тому как не надо писать код!!!
| |
|
2.11, Аноним (9), 15:07, 08/04/2022 [^] [^^] [^^^] [ответить]
| –4 +/– |
Изучая этот код, я понял что значит Сишность головного мозга:)
| |
|
|
4.13, Аноним (9), 15:43, 08/04/2022 [^] [^^] [^^^] [ответить]
| +/– |
ИМХО, там качество кода на уровне https://www.ioccc.org/ :)
Кстати, нашел свои ребусы. Вдохновение черпал в те времена когда изучал musl:))
char *strncpy(char *dest, const char *s, size_t n) {
char *d = dest;
while (n && (--n, (*d++ = *s++)));
while (n--) *d++ = 0;
return dest;
}
char *strncat(char *dest, const char *s, size_t n) {
char *d = dest;
while (*d) ++d;
while (n-- ? (*d++ = *s++) : (*d = 0));
return dest;
}
ППС: Никогда так не пишите!!!:)
| |
|
|
6.15, n00by (ok), 16:14, 08/04/2022 [^] [^^] [^^^] [ответить]
| +5 +/– |
Ну типа цикл в одну строчку, сложное условие и без тела. Плохо читается питонистами, а мозг баш-программистов POCA LINUX вообще скажет "Пока Линукс". На деле подобный код писали десяток-другой лет назад, что бы помочь транслятору.
// возвращает не по стандарту
char* strncpy(char* dst, const char* src, size_t n)
{
assert(dst || n == 0);
assert(src || n == 0);
while (n && (*dst++ = *src++) != 0)
n--;
if(n)
*dst++ = 0;
return dst;
}
| |
6.17, Аноним (9), 17:43, 08/04/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
>>> почему ? <<<
Код должен быть понятным (принцип KISS)
>>> как надо было ? <<<
Я бы использовал memccpy (принцип DRY):
char *strncpy(char *to, const char *from, size_t count) {
char *stop = memccpy(to, from, '\0', count);
if (stop != NULL)
memset(stop, '\0', count - (stop - to));
return to;
}
char *strncat(char *to, const char *from, size_t count) {
size_t len = strlen(to);
char *stop = memccpy(to + len, from, '\0', count);
if (stop == NULL)
to[len + count] = '\0';
return to;
}
| |
|
7.18, Аноним (9), 17:50, 08/04/2022 [^] [^^] [^^^] [ответить]
| –2 +/– |
Кроме того это будет работать быстро, разумеется при условии что вы оптимизируете strlen, memset и memccpy, а чаще всего это именно так!
| |
|
8.41, n00by (ok), 09:51, 09/04/2022 [^] [^^] [^^^] [ответить] | +1 +/– | Если бы мсье был не теоретиком, то оказалось бы, что у транслятора может быть св... текст свёрнут, показать | |
|
9.57, Аноним (9), 08:38, 10/04/2022 [^] [^^] [^^^] [ответить] | +/– | Очередной эксперт подъехал Ваши советы для меня бесценны, - я просто заново от... текст свёрнут, показать | |
|
10.62, n00by (ok), 06:59, 11/04/2022 [^] [^^] [^^^] [ответить] | +/– | А, Вы уже написали свою реализацию стандартной библиотеки, как это сделал я Ссы... текст свёрнут, показать | |
|
|
12.65, n00by (ok), 08:10, 13/04/2022 [^] [^^] [^^^] [ответить] | +/– | Нет ничего плохого в бытие теоретиком, почему Вы расстраиваетесь Изучили деталь... текст свёрнут, показать | |
|
|
14.67, n00by (ok), 14:01, 13/04/2022 [^] [^^] [^^^] [ответить] | +/– | 30 лет назад, это классика Тогда люди сначала сами делали, а только потом други... текст свёрнут, показать | |
|
|
|
|
|
|
|
|
8.34, Аноним (9), 08:15, 09/04/2022 [^] [^^] [^^^] [ответить] | –1 +/– | м очередной опеннетный эксперт, который скорее всего профессионально не написа... текст свёрнут, показать | |
|
9.39, n00by (ok), 09:46, 09/04/2022 [^] [^^] [^^^] [ответить] | +1 +/– | Просто откройте для себя классическую книжку Верёвка достаточной длины, что бы ... текст свёрнут, показать | |
|
|
7.31, Пользователь Чебурнета (?), 03:55, 09/04/2022 [^] [^^] [^^^] [ответить]
| +/– |
Код должен быть понятным в прикладном ПО. В системном нужна оптимизация и скорость работы. Поэтому страдающие паскалем головного мозга к подобным работам не допускаются.
| |
|
8.33, Аноним (9), 08:06, 09/04/2022 [^] [^^] [^^^] [ответить] | –2 +/– | Опа, эксперты с Сишностью головного мозга повылазили Этот код, довольно быстр... текст свёрнут, показать | |
|
7.36, myhand (ok), 08:59, 09/04/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
>>>> почему ? <<<
> Код должен быть понятным (принцип KISS)
Видите ли вьюнош, код должен быть понятным не только лишь всем.
| |
|
|
5.16, ИмяХ (?), 16:43, 08/04/2022 [^] [^^] [^^^] [ответить]
| +5 +/– |
Нормальный, профессиональный код. Работает идеально, не требует никаких исправлений, патчей и т.п. поэтому людям его незачем читать. Что-то похожее я видел в книге "С для чайников"
| |
|
6.19, Аноним (9), 18:19, 08/04/2022 [^] [^^] [^^^] [ответить]
| –4 +/– |
>>> поэтому людям его незачем читать <<<
А потом когда вдруг понадобится что-то сделать, внезапно придется искать программиста, который знает язык COBOL:)))
| |
|
|
8.24, Аноним (9), 21:00, 08/04/2022 [^] [^^] [^^^] [ответить] | –1 +/– | Скорее просто вы не поняли при чём тут COBOL ну да ладно, видимо моя шутка не ... текст свёрнут, показать | |
|
7.37, alexrayne (?), 09:22, 09/04/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Вот меня удивляет, в чем проблема освоить КОБОЛ? почему это стало проблемой то?
нытье о "поиске погромиста" обусловлено закидонами работодателя.
| |
7.64, ИмяХ (?), 13:43, 12/04/2022 [^] [^^] [^^^] [ответить]
| +/– |
>> что-то сделать
В нём не надо ничего делать. В нём уже сделано всё, что надо.
| |
|
|
|
|
|
2.49, Аноним (-), 16:52, 09/04/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Качество кода и там и там полный трешак.
Да не скажи, в Musl местами довольно неплохой код попадается.
| |
|
1.10, ИмяХ (?), 15:05, 08/04/2022 [ответить] [﹢﹢﹢] [ · · · ]
| –4 +/– |
>> и высокой производительностью
Высокая производительность у него только во всяких хеллоуворлдах. Мало-мальски серьёзные приложения в нём сильно тормозят.
| |
|
2.20, sig11 (ok), 18:34, 08/04/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
>> Высокая производительность у него только во всяких хеллоуворлдах.
а также у правильно написанных приложениях (не требующих 3 выделений памяти на склеивание двух строк)
>> Мало-мальски серьёзные приложения в нём сильно тормозят.
python тормозит адски - подтверждаю
| |
|
3.52, Аноним (-), 17:06, 09/04/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Если бы питон быстро бегал - это была бы ж...а, сожрал бы все живое!
| |
|
2.21, Аноним (21), 19:24, 08/04/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
Было бы неплохо взглянуть на соответствующий тест производительности. Наверное вы сделали свой вывод опираясь на какое-то исследование - поделитесь пожалуйста?
| |
|
1.26, Ан (??), 22:15, 08/04/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
А я уже думал, что эта весна настолько уже хороша, что лучше уже и некуда, но нет! Ждём musl 1.3!
| |
1.29, Ан (??), 23:14, 08/04/2022 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Ctrl+F "Void Linux" ничего не показал, а тем временем, это лучший rolling-release дистрибутив на сегодняшний день, в том числе и в варианте c musl вместо glibc.
| |
|
2.38, Аноним (38), 09:41, 09/04/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Он лучший для умеющих собирать из исходников, яинить баги. Вот вышло 5.17, 5.17.1, а в XBPS их нет. Тем временем автоподбор параметров ядра легко может не включить скажем протоколы для работы сенсорной панели ноутбука. То есть слабонервным новичкам там делать особо нечего. Но на musl вариант и правда хорош. Там некуда торопиться, ибо автоисправлений ошибок нет как в glibc. OpenWRT по умолчанию тоже на musl. И вот вторая библиотека для весьма тощих устройств. Впрочем в Void есть s6 как дополнительная система инициализации. И да, нытики будут ныть, что разработчики не включили автоматически какие-нибудь сервисы сразу же. У одноклеточных выбор из одного доступного варианта позволяет не использовать мозг, ведь они свято верят, что мозгами пользоваться - моветон.
| |
|
3.40, ИмяХ (?), 09:49, 09/04/2022 [^] [^^] [^^^] [ответить]
| +/– |
Людям за компьютером работать надо, а не собирать исходники и чинить баги.
| |
|
4.50, Кэп (?), 16:54, 09/04/2022 [^] [^^] [^^^] [ответить]
| +/– |
Сбор софта и починка багов тоже работа за компьютерами так то. А еще булки на деревьях не растут.
| |
|
3.45, Аноним (45), 10:44, 09/04/2022 [^] [^^] [^^^] [ответить]
| +/– |
В следующий раз попытайтесь логически связывать слова и предложения, набор букв какой-то
| |
3.47, Пимпа (?), 15:29, 09/04/2022 [^] [^^] [^^^] [ответить]
| +/– |
Жесть, брателло, тебе бы отдыхать побольше без компьютера. Даже через буквы видно, что у тебя глаз дёргается.
| |
3.51, Аноним (-), 17:03, 09/04/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Тем временем автоподбор параметров ядра легко может не включить скажем протоколы для работы
> сенсорной панели ноутбука.
Лучше позвольте роботу баланс креды тратить. Так интриги больше.
> То есть слабонервным новичкам там делать особо нечего.
А им вообще туда зачем? Демонстрировать что получается у обезьяны с гранатой?
| |
|
2.46, Аноним (45), 10:50, 09/04/2022 [^] [^^] [^^^] [ответить]
| +/– |
как дистр без пакетов может быть лучше арча, который с пакетами?
| |
|
3.56, Ан (??), 20:37, 09/04/2022 [^] [^^] [^^^] [ответить]
| +/– |
Ты, похоже, не в курсе, что XBPS означает X ***Binary Package*** System.
| |
|
|
1.59, Аноним (-), 09:06, 10/04/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>x86_64
это что за архитектура такая?
Ведь была же фирма AMD, создала не с нуля архитектуру amd64 - так я до сих пор пользуюсь, а фирма intel-aviv на то время сосала четвёртый пень длинным конвеером и не создавала полезных архитектур...
| |
|