Size: a a a

2021 January 27

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Alexander Krivitskiy
Хитро. Я думал ты в контексте питона отвечал. В общем на Си(+Асме) гораздо удобней чем на расте всякий лоулевел делать, где надо прямо мануально с памятью работать(По конкретным адресам писать и т.п.) Ансейф Раст - неэргономичное говно для подобных задач. На место сишки разве что Zig из новых метит, но он не стейбл, так что конкурентов у нее так и не появилось.
как раз-таки для такой низкоуровневой фигни я предпочту раст
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
https://github.com/Pzixel/dotnet-rs/blob/master/src/main.rs#L42 когда-то пытался сделать небольшой инепртетатор для дотнета
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
но не смог правильно оффсет с vtable объектов высчитать в итоге и забил где-то на середине. Умеет только метаданные сборки доставать
источник

r

red75prime in rust_offtopic
Alexander Krivitskiy
Хитро. Я думал ты в контексте питона отвечал. В общем на Си(+Асме) гораздо удобней чем на расте всякий лоулевел делать, где надо прямо мануально с памятью работать(По конкретным адресам писать и т.п.) Ансейф Раст - неэргономичное говно для подобных задач. На место сишки разве что Zig из новых метит, но он не стейбл, так что конкурентов у нее так и не появилось.
Не без этого: buf_ptr.add(fn_offset).cast().write_unaligned(drop_fn); vs memcpy(&drop_fn, buf_ptr+fn_offset, sizeof(drop_fn));
источник

D

Dima in rust_offtopic
Alexander Krivitskiy
Хитро. Я думал ты в контексте питона отвечал. В общем на Си(+Асме) гораздо удобней чем на расте всякий лоулевел делать, где надо прямо мануально с памятью работать(По конкретным адресам писать и т.п.) Ансейф Раст - неэргономичное говно для подобных задач. На место сишки разве что Zig из новых метит, но он не стейбл, так что конкурентов у нее так и не появилось.
Тот же unsafe Раст с 100 раз сейфовие  и эргономичнее(имхо) чем сишечка
источник

AK

Alexander Krivitskiy in rust_offtopic
Это что-то очень высокоуровневое. Ты аллокатор какой-то напиши, чужой процесс хукани, бутлоедер попробуй сделать... Для этих задач сейф Раст особо не пригодится
источник

p

polunin.ai in rust_offtopic
источник

A

Anton 📦 ᯌ 🄴 in rust_offtopic
источник

AK

Alexander Krivitskiy in rust_offtopic
Dima
Тот же unsafe Раст с 100 раз сейфовие  и эргономичнее(имхо) чем сишечка
Ага. as &mut as *mut _
источник

r

red75prime in rust_offtopic
Alexander Krivitskiy
Ага. as &mut as *mut _
Это интерфейс с safe кодом. Указатели можно кастовать без проблем
источник

Нк

Не крал in rust_offtopic
Alexander Krivitskiy
Ага. as &mut as *mut _
Раст как минимум даёт апи, затрудняющий выстрел по ногам выравниванием, например, среди прочего.
источник

r

red75prime in rust_offtopic
Угу. Сейчас думаю как предоставить интерфейс, который safe no matter what
источник

ID

Iv@n Dereviankin in rust_offtopic
Не крал
Раст как минимум даёт апи, затрудняющий выстрел по ногам выравниванием, например, среди прочего.
Зато в Си полная свобода в такого рода делах
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Alexander Krivitskiy
Это что-то очень высокоуровневое. Ты аллокатор какой-то напиши, чужой процесс хукани, бутлоедер попробуй сделать... Для этих задач сейф Раст особо не пригодится
я паршу (ну и интерпретирую) PE - не очень-то высокоуровнево
источник

ID

Iv@n Dereviankin in rust_offtopic
Iv@n Dereviankin
Зато в Си полная свобода в такого рода делах
int p[] = {5, 6, 7};
p += 3; //"стриляем па нагам"
//куча багов
источник

AK

Alexander Krivitskiy in rust_offtopic
Не крал
Раст как минимум даёт апи, затрудняющий выстрел по ногам выравниванием, например, среди прочего.
Он определенно сейфовей. Он хотя бы всякий мусор к инту автоматом не скастит. Но от того что можно пальцы себе переломать пока набираешь Ансейф Раст со всеми этими as, NonNull и что я там ещё любил - это не спасет.
источник

ID

Iv@n Dereviankin in rust_offtopic
Αλεχ Zhukovsky
я паршу (ну и интерпретирую) PE - не очень-то высокоуровнево
Дотнет это хорошо, но лично я с интерпретатора мозгоеб*и начинал
источник

Нк

Не крал in rust_offtopic
Iv@n Dereviankin
int p[] = {5, 6, 7};
p += 3; //"стриляем па нагам"
//куча багов
Дак и в ансейф расте то же самое можешь сделать...
При чем тут выравнивание то?
источник

ID

Iv@n Dereviankin in rust_offtopic
Iv@n Dereviankin
Дотнет это хорошо, но лично я с интерпретатора мозгоеб*и начинал
Все никак компилер не напишу
источник

ID

Iv@n Dereviankin in rust_offtopic
Не крал
Дак и в ансейф расте то же самое можешь сделать...
При чем тут выравнивание то?
Разве в ансейфе можно?
источник