169 похожих чатов

Новичковый вопрос по поводу ffi 1 - это выглядит как подключение

скомпилированного бинарника к примеру в С/rust ?
2 - если этот бинарник работает с многопоточностью
может ли это вызвать сбой у дарта ?

7 ответов

24 просмотра

1. Уточните вопрос 2. До тех про пока функция завершается в том же потоке что и начата - можно делать что угодно

🅿️усл🅰️н- Автор вопроса

ну к примеру билд в Rust выдает исполняемый файл это не его ли будет запускать дарт или ffi требует изначального кода на расте ?

🅿️усл🅰️н
ну к примеру билд в Rust выдает исполняемый файл ...

Исполняемый файл запускается и без ffi, ffi позволяет запускать функции из shared library (.dll .so)

🅿️усл🅰️н- Автор вопроса
Royal Cat
Исполняемый файл запускается и без ffi, ffi позвол...

хмм / получается можно сделать прием аргументов и прикрутить в код дарта запуск этого бинарника / и ffi не потребуется

🅿️усл🅰️н
хмм / получается можно сделать прием аргументов и...

Если платформа позволяет - да, тупо через консоль, но вроде на ios так не получится

2. Если он породит свой файбер/тред/процесс это никак не повлияет на дарт... Главное не разрушать стек вызовов управляющего потока (чтобы безопасно вернуться в дарт) а так же не нарушать кучу Дарта... А так все дороги открыты... Подключать можешь любую нативную либу. Главное чтобы выполнялось соглашение о внешних символах (названия функция в таблице импорта/экспорта, а так же пролог и эпилог вызова функций)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта