Я имел в виду языки с unmanaged heap.
Сразу оговорюсь, что мой опыт в rust невелик.
Зануления не гарантируется. Вместо этого гарантируется, что вы не сможете обратиться к неинициализированной памяти. Поэтому какая разница, как выглядит неинициализированная память, если фиг вам дадут ее почитать)
Для инициализации используется либо соответствующая конструкция StructName {
field:val,
…
}, либо функция (обычно статическая в классе), делающая то же самое.
Я имел проблемы только потому, что выделял память вручную, через malloc. Но мой кейс безусловно весьма специфичен. Насколько я понимаю, в обычных проектах unsafe-код крайне редок.
По-моему свою память тоже удобней каким-нибудь паттерном забивать.
Я натыкался на баги с памятью только один раз (т.к. пишу на rust)), но зато, когда наткнулся, я очень быстро догадался отконвертировать адрес в hex, увидел паттерн 0xDC и благодаря этому быстро нашел багу. А вот паттерн в виде нуля зачастую может оказаться корректно обработанным, и в результате баг не будет выловлен.
Заходит однажды SJW в Linux Kernel.
Находит у себя
личность,
2 личности,
0 личностей,
999999999 личностей,
–1 личность,
i * tan(Pi/2) личностей,
Cat / Dog личностей.
qwertyuip личность.
По-моему это трудно реализуемо без правок в ОС. Вы не можете залочить путь в ФС. Только файл. Т.е. функция File должна всегда пытаться создать файл с макс правами, чтобы в случае его отсутствия не возникло гонки. Но такое решение не работает с доступом на чтение.
В любом случае, имхо это непрозрачно и чужеродно.
2 бесящих ситуации.
1) Я часто гуглю что-то про Раст, а получаю туториалы как поднять игровой сервер для одновременной игры. Казалось бы, можно и понять мои предпочтения.
2) Выше уже писали про qaru.site. Это что-то вроде машинного перевода stackoverflow, при этом стабильно занимает первую страницу выдачи.
https://www.redox-os.org/
Я имел в виду языки с unmanaged heap.
Сразу оговорюсь, что мой опыт в rust невелик.
Зануления не гарантируется. Вместо этого гарантируется, что вы не сможете обратиться к неинициализированной памяти. Поэтому какая разница, как выглядит неинициализированная память, если фиг вам дадут ее почитать)
Для инициализации используется либо соответствующая конструкция StructName {
field:val,
…
}, либо функция (обычно статическая в классе), делающая то же самое.
Я имел проблемы только потому, что выделял память вручную, через malloc. Но мой кейс безусловно весьма специфичен. Насколько я понимаю, в обычных проектах unsafe-код крайне редок.
По-моему свою память тоже удобней каким-нибудь паттерном забивать.
Я натыкался на баги с памятью только один раз (т.к. пишу на rust)), но зато, когда наткнулся, я очень быстро догадался отконвертировать адрес в hex, увидел паттерн 0xDC и благодаря этому быстро нашел багу. А вот паттерн в виде нуля зачастую может оказаться корректно обработанным, и в результате баг не будет выловлен.
А еще обезьянка может по умному совету со StackOverflow rm -rf / куда-нибудь вставить.
а god не дискриминирует атеистов часом?
Заходит однажды SJW в Linux Kernel.
Находит у себя
личность,
2 личности,
0 личностей,
999999999 личностей,
–1 личность,
i * tan(Pi/2) личностей,
Cat / Dog личностей.
qwertyuip личность.
Более того, утилита которая вставляет комментарии — уже есть, и ее написали сами PVS.
Т.е. что-то вида
cp -r ../src.
How-To-Use-PVS-Studio-FREE.exe.
rm -r .
По-моему это трудно реализуемо без правок в ОС. Вы не можете залочить путь в ФС. Только файл. Т.е. функция File должна всегда пытаться создать файл с макс правами, чтобы в случае его отсутствия не возникло гонки. Но такое решение не работает с доступом на чтение.
В любом случае, имхо это непрозрачно и чужеродно.
кстати, является ли ___ корректным TLD?
дефакторинг
Разве оно не под GPL?
На современных компьютерах сбалансированные деревья нормально сработают.
или телепузиков
Почему АПИ хабра висит на /kek/v1? )
Вы сейчас описали кодер "Сценарист" и декодер "Воображение"
Средний роутер — это admin:admin.
Средний телефон — это android с кучей фич изоляции, разграничения и прочего.
2 бесящих ситуации.
1) Я часто гуглю что-то про Раст, а получаю туториалы как поднять игровой сервер для одновременной игры. Казалось бы, можно и понять мои предпочтения.
2) Выше уже писали про qaru.site. Это что-то вроде машинного перевода stackoverflow, при этом стабильно занимает первую страницу выдачи.
смартфоны защищены довольно хорошо
Многие сишные либы можно скомпилить в wasm модули.
Только для full-пользователей.