А почему бы не скомпилировать rust библиотеку в static-lib? Насколько помню go прекрасно умеет с ними работать через тот же cgo. Только работать это будет быстрее и соберется все в единый бинарник.
В данному случае все также соберется в единый бинарный файл. Будет ли это быстрее, чем static-lib это хороший вопрос и нужно смотреть на уровне ассемблера, как происходит вызов. Ну и опять же — все может зависеть от версии компилятора cgo.
Ну и так на заметку читающим, libembed.dylib — это мак специфично, на линуксе будет libembed.so, а на винде — libembed.dll
Эта статья и не рассматривалась как сложная — на что я и указал в начале.
покажите как вернуть значение в вызывающий код, расскажите как сделать так чтоб раст не удалил это значение при выходе из контекста, как потом почистить за собой память, есть ли возможность вернуть null и т.д.
Будет интерес к статья — я расскажу и об этом.
а пример скопипастить на хабр это не интересно.
Пример кода на Rust взят с книги, и я показал, как его можно использовать из Go. В книге о Go ничего не говорится, что на самом деле является недостатком.
Это хороший вопрос, который бы хорошо адресовать разработчикам компиляторов :)) В данном случае вызов происходит через FFI, что достаточно неплохо документировано.
Ну хорошо. 2000 желающих оплатить по 100$. Какая окупаемость? Да и не в этом вопрос. Какая практическая ценность человек на марсе? Вернуться вы не сможете, построить самодостаточную колонию тоже. Если же развивать работотехнику, то на ее базе можно уже строить и освоение космоса. Как я сказал, это не только мое мнение.
Надо, чтобы каждый прикладывал своё фото к комментарию, а то одни худеет с умными весами, другой с трекером, автор вот на сале с чёрными хлебом :)
В данному случае все также соберется в единый бинарный файл. Будет ли это быстрее, чем static-lib это хороший вопрос и нужно смотреть на уровне ассемблера, как происходит вызов. Ну и опять же — все может зависеть от версии компилятора cgo.
Спасибо. Хорошее замечания я добавлю в статью.
Будет интерес к статья — я расскажу и об этом.
Пример кода на Rust взят с книги, и я показал, как его можно использовать из Go. В книге о Go ничего не говорится, что на самом деле является недостатком.
Тут наверно имелось ввиду NewrelicStart