FFI: как создать мост между Rust и C/C++
Сегодня мы рассмотрим, как создать безопасные FFI-интерфейсы в Rust для интеграции с C/C++ библиотеками
Если говорить проще, FFI (foreign function interface — интерфейс вызова внешних функций) – это способ «позаимствовать» функциональность из другого языка. В контексте нашей статьи, с одной стороны у нас Rust, где каждый байт памяти охраняется компилятором, а на другой C++, где свобода обращения с памятью может обернуться утечками или, что еще хуже, непредсказуемым UB (англ. undefined behavior, в ряде источников неопределенное поведение). И наша задача – сделать так, чтобы эти два мира не конфликтовали, а работали в унисон.
https://habr.com/ru/companies/mvideo/articles/892926/
#cpp #programming
👉 @cpp_lib
Сегодня мы рассмотрим, как создать безопасные FFI-интерфейсы в Rust для интеграции с C/C++ библиотеками
Если говорить проще, FFI (foreign function interface — интерфейс вызова внешних функций) – это способ «позаимствовать» функциональность из другого языка. В контексте нашей статьи, с одной стороны у нас Rust, где каждый байт памяти охраняется компилятором, а на другой C++, где свобода обращения с памятью может обернуться утечками или, что еще хуже, непредсказуемым UB (англ. undefined behavior, в ряде источников неопределенное поведение). И наша задача – сделать так, чтобы эти два мира не конфликтовали, а работали в унисон.
https://habr.com/ru/companies/mvideo/articles/892926/
#cpp #programming
👉 @cpp_lib
Какой твой любимый аспект работы с C++?
Для меня лично — это невероятная свобода и контроль, которые он даёт. Я ещё ни разу не сталкивался с тем, чтобы язык сказал мне: «нет, так нельзя». И это, на мой взгляд, делает процесс куда более увлекательным. Возникает ощущение, что ты действительно продумываешь свои решения и делаешь их максимально подходящими под себя.
А что тебе больше всего нравится? Пиши в комменты 👇
#cpp #programming
👉 @cpp_lib
Для меня лично — это невероятная свобода и контроль, которые он даёт. Я ещё ни разу не сталкивался с тем, чтобы язык сказал мне: «нет, так нельзя». И это, на мой взгляд, делает процесс куда более увлекательным. Возникает ощущение, что ты действительно продумываешь свои решения и делаешь их максимально подходящими под себя.
А что тебе больше всего нравится? Пиши в комменты 👇
#cpp #programming
👉 @cpp_lib