Fail
Pavel
да и если шаришь не такие они чудовищные.
Dr. Friedrich
Смотря что делаешь 🤷♂️
Dr. Friedrich
А в чем проблема с маршалингом?
Основная проблема в том, что, если ты хочешь что-то managed по указателю куда-то передать, то тебе надо это запинить.
Dr. Friedrich
Или сделать копию вообще.
Pavel
Dr. Friedrich
Понятно, что оба варианта не очен весёлые
Dr. Friedrich
Dr. Friedrich
От линкера внезапно начало зависеть, в каком процессе я что вызываю?
Pavel
если у тебя сишная функция сложения 2 интов , то с какого они в другом процессе начнут вызываться?
Dr. Friedrich
Dr. Friedrich
Сложения двух интов, окей
Dr. Friedrich
И она вызывается в моём процессе, так?
Dr. Friedrich
На моём стеке
Pavel
и
Dr. Friedrich
Значит, я с ней пошарил память
Pavel
нет
Dr. Friedrich
Как нет?
Dr. Friedrich
Стек общий у нас с ней?
Dr. Friedrich
Shared stack
Dr. Friedrich
Да и регистры общие
Pavel
она тупо твоя. у нее нет отдельного менеджера памяти что б сним шарит/договариваться
Dr. Friedrich
Любая, пожалуй, calling convention подразумевает, что caller и callee взаимодействуют через шаренные места в стековой и регистровой памяти.
Pavel
а вот когда ты из сишной функции будешь работать с тем что тебе шарп на хипе разместил вот тогда шаринг идет
Pavel
конкретно сложение работает без менеждера памяти
Dr. Friedrich
Ну да. Но для сложения мне не нужна сишная либа, правильно? :)
Pavel
не факт. мало ли )
Dr. Friedrich
Отдал на поругание, можно сказать.
Pavel
у меня знакомый был он на асме делал поиски символа в строке потому как дельфя это типа делали медлено
Dr. Friedrich
Ему не нужен менеджер памяти, чтобы мне там всё нафакапить
Dr. Friedrich
Он запросто может полезть в те места стека/регистры, про которые мы с ним не договаривались, что я их пошарил
Dr. Friedrich
Допустим, он хотел на стеке массив из десяти байт, а я выделил девять. Бывает!
Vladislav
Pavel
Fail
Fail
Потому что вот куски стринга в цлр написаны таки на плюсах
Dr. Friedrich
Fail
Vladislav
Ayrat
Алярм.
Го пилить на неткор 3 на зебре
https://m.habr.com/company/mailru/blog/433066/
Ayrat
Кто-то в прошлом году пилил?
Ayrat
@fvnever ?
Dr. Friedrich
Bonart
Dr. Friedrich
Dr. Friedrich
Да.
Bonart
Да.
С этого места, пожалуйста, поподробнее
Fail
Dr. Friedrich
Dr. Friedrich
Вроде только для функций работает 🤷♂️
Dr. Friedrich
Но если вдруг появляется поддержка в рантайме, то можно добавить и для классов, например (потому что делать почти ничего не надо, всё просто заработает из коробки).
Bonart
Dr. Friedrich
Dr. Friedrich
На самом деле, я пока не смотрел на натив
Dr. Friedrich
Там-то тоже, вроде как, должны быть нормальные генерики кругом
Dr. Friedrich
Dr. Friedrich
Ну, есть базовая совместимость на «обычных» классах и методах. А когда ты начинаешь юзать котлиноспецифичные вещи — то совместимость тоже становится странной. Примерно как между C# и F#, да.
Igor
Анна
@omgszer спасибо, я почти раскурила неподвижные точки 🤓 Надо будет Пирсом заполировать перед сном, и всё, я окончательно упорот 🙃
Анна
Ayrat
Romɑn
Зацените, новый доклад Рича Хикки, где он рассуждает о различных реализациях концепции null/Maybe/Optional и ищет идеал. Для меня неожиданностью стало, что union types (discriminated unions), вероятно, не идеальная реализация опциональных данных.
Интересно ваше мнение послушать.
https://www.youtube.com/watch?v=YR5WdGrpoug
Анна
Да, статья огонь!
Надо ещё на A-lang запилить этот комбинатор для закрепления %)
Анна
Чего не сделаешь, чтобы лабы не проверять 🤪
Igor
Romɑn
конечно
Vladislav
Dr. Friedrich
Симпатичный код у вас пишут!
Vladislav
Это не мой
x
x
Печально