LINUXTALKS.CO

История изменений

Исправление crypt, (текущая версия) :

наоборот! это очень клевая идея!

у тебя очень строгий компилятор. он берет вставку malloc-кода на себя. он не позволяет тебе аллоцировать память два раза или освободить два раза.

он отслеживает, кто владеет твоей алоцированной памятью и освобождает ее, когда функция завершается.

Нативный код по определению не может быть безопасным, потому что у физического процессора нету механизмов обеспечения этой безопасности.

есть такой механизм. есть stack protector даже в Си компиляторе. именно поэтому ты получаешь segfault и твой процессор продолжает работать.

rust по сути дополняет эту систему с другой стороны, обеспечивая отслеживание аллокаций и освободждения памяти.

если уж ты как-то доверяешь виртуальной машине, далающей это в рантайме, то почему не доверять чему-то похожему, что рассчитывает аллокации при компиляции программы?

Исправление crypt, :

наоборот! это очень клевая идея!

у тебя очень строгий компилятор. он берет вставку malloc-кода на себя. он не позволяет тебе аллоцировать память два раза или освободить два раза.

он отслеживает, кто владеет твоей алоцированной памятью и освобождает ее, когда функция завершается.

Нативный код по определению не может быть безопасным, потому что у физического процессора нету механизмов обеспечения этой безопасности.

есть такой механизм. есть stack protector даже в Си компиляторе. именно поэтому ты получаешь segfault и твой процессор продолжает работать.

rust по сути дополняет эту систему с другой стороны, обеспечивая отслеживание аллокаций и освободждения памяти.

если уж ты как-то доверяешь виртуальной машине это, то почему не доверять чему-то похожему, что рассчитывает аллокации при компиляции программы?

Исправление crypt, :

наоборот! это очень клевая идея!

у тебя очень строгий компилятор. он берет вставку malloc-кода на себя. он не позволяет тебе аллоцировать память два раза или освободить два раза.

он отслеживает, кто владеет твоей алоцированной памятью и освобождает ее, когда функция завершается.

Нативный код по определению не может быть безопасным, потому что у физического процессора нету механизмов обеспечения этой безопасности.

есть такой механизм. есть stack protector даже в Си компиляторе. именно поэтому ты получаешь segfault и твой процессор продолжает работать.

rust по сути дополняет эту систему с другой стороны, обеспечивая отслеживание аллокаций и освободждения памяти.

Исправление crypt, :

наоборот! это очень клевая идея!

у тебя очень строгий компилятор. он берет вставку malloc-кода на себя. он не позволяет тебе аллоцировать память два раза или освободить два раза.

он отслеживает, кто владеет твоей алоцированной памятью и освобождает ее, когда функция завершается.

Нативный код по определению не может быть безопасным, потому что у физического процессора нету механизмов обеспечения этой безопасности.

есть такой механизм. есть stack protector даже в Си компиляторе. именно поэтому ты получаешь segfault и твой процессор продолжает работать.

Исправление crypt, :

наоборот! это очень клевая идея!

у тебя очень строгий компилятор. он берет вставку malloc-кода на себя. он не позволяет тебе аллоцировать память два раза или освободить два раза.

он отслеживает, кто владеет твоей алоцированной памятью и освобождает ее, когда функция завершается.

Исходная версия crypt, :

наоборот! это очень клевая идея!

у тебя очень строгий компилятор. он берет вставку malloc-кода на себя. он не позволяет тебе ее аллоцировать два раза или освободить два раза.

он отслеживает, кто владеет твоей алоцированной памятью и освобождает ее, когда функция завершается.