Рубрика «ffi»
Прямая трансляция во Flutter через WebCodecs: как пришлось написать свой декодер
2026-03-15 в 12:16, admin, рубрики: ffi, ffmpeg, flutter, h264, WebCodecsRust + C++ через FFI: как подружить два мира и не сойти с ума
2025-10-05 в 5:16, admin, рубрики: c++, ffi, Rust, tutorialСегодня Rust активно используется не только как язык для написания приложений, в том числе системных, но и как язык для написания библиотек, которые подключают к существующим проектам на C и C++.
Это удобно: новую функциональность можно писать на Rust, но при этом не переписывать весь код на нём.
В этой статье я покажу, как:
-
написать библиотеку на Rust;
-
выставить для неё C API через FFI;
-
собрать всё одной командой через CMake;
-
использовать её из C++ кода;
-
реализовать обратные вызовы (callback), которые Rust будет вызывать в C++.
Весь код, части которого приведены в статье, доступен в репозитории:
Читать полностью »
Туториал: использование Go из PHP через FFI
2025-04-20 в 15:16, admin, рубрики: C-shared, docker-compose, ffi, Foreign function interface, Go, phpКофе и крабы. Вызов Rust-кода из Java
2025-02-20 в 6:15, admin, рубрики: ffi, interop, java, jni, jnr, project panama, RustJava — один из наиболее часто используемых языков программирования, который мы еще не обсуждали в нашем Rust Interop Guide. В этой статье мы рассмотрим три различных метода вызова кода Rust из Java: JNI, JNR-FFI и Project Panama. Мы покажем различия между этими методами и проведем базовый бенчмаркинг для сравнения их производительности. Эти методы работают не только для Java, но и для других языков JVM, таких как Kotlin. Здесь мы в основном сосредоточимся на Java, но примеры Kotlin доступны в ветке KotlinЧитать полностью »
Вышла Java 21
2023-09-19 в 14:43, admin, рубрики: collections, concurrency, ffi, java21, JDK, jep, jvm, loom, oracle, pattern matching, string interpolation, vector api, virtual threads, zgcJava 21 является LTS-релизом, а значит у него будут выходить обновления как минимум 5 лет с момента выхода.
Читать полностью »
Компилируем быстрые консольные .exe приложения на PHP 8.1 в 2023 году, а почему бы и нет?
2023-03-13 в 8:01, admin, рубрики: c++, dll, enigma, exe, ffi, jit, php, PHP 8, timeweb_статьи, WinAPI, Блог компании Timeweb Cloud, интерпретатор, компиляция, консоль, приложение, разработка под windows, утилита, франкенштейн
У многих в своё время, наверное, было желание легкого написание консольных и оконных приложений. Ребята рунета иногда писали незаменимые приложения для решения мелких задач и делились на форумах, хотя некоторые из них и содержали костыли.
Однако времена меняются, и люди начали осознавать свои ошибки, переходя, скажем, на ООП.
Чтобы поностальгировать и продемонстрировать нового Франкенштейна, мы соберем полноценное консольное exe-приложение на PHP.Читать полностью »
Встраиваем Lua в PHP через FFI
2022-08-23 в 15:28, admin, рубрики: Extensions, ffi, kphp, Lua, open source, php, plugins, Блог компании VK, системное программированиеForeign Function Interface — это перспективная альтернатива для традиционных PHP-расширений.
Сегодня мы будем разбирать FFI-библиотеку для работы с liblua5 из PHP, которая позволит исполнять скрипты на Lua из нашего приложения.

Генерируем Rust обёртку для FMOD
2022-03-20 в 11:21, admin, рубрики: ffi, fmod, pest, Rust, Программирование, разработка игрОбёртку можно написать вручную, когда API состоит из небольшого количества функций и сигнатура этих функций меняется нечасто. FMOD — звуковой движок с большим количеством функций, точно не тот случай:
Types: 19
Callbacks: 96
Structures: 57
Structure Fields: 352
Enumerations: 77
Enumeration Variants: 693
Functions: 573
Function Arguments: 1590
Стоимость ручной разработки обёртки для такого API будет высокой, поддержка при каждом обновлении мучительной, не говоря уже об ошибках и опечатках, которые появятся в процессе редактирования.
Используем SQLite в KPHP и PHP через FFI
2022-03-11 в 14:53, admin, рубрики: ffi, kphp, ksqlite, open source, php, sqlite, Программирование, Разработка веб-сайтов
Сегодня я расскажу о новой библиотеке, которая позволяет использовать SQLite сразу из PHP и KPHP.
Создавать FFI пакеты — не просто. Под катом будут ответы на следующие вопросы:
- Как упростить установку и сделать библиотеку кроссплатформенной?
- Как не допустить утечек ресурсов?
- Как сделать библиотеку совместимой с KPHP и PHP?
- Какова производительность FFI решений?
Мы не только попробуем новую библиотеку в действии, но и выработаем ряд практик, которые при широком распространении могут улучшить ситуацию с FFI пакетами в сообществе.
Создаём игру на KPHP с помощью FFI и SDL
2021-11-23 в 10:18, admin, рубрики: ffi, Gamedev, kphp, open source, php, sdl, sdl2, Блог компании VK, Программирование, разработка игрKPHP теперь поддерживает механизм Foreign Function Interface (FFI). Мы с Владом решили продемонстрировать его возможности и за сутки написали первую в мире графическую игру на KPHP.
Игру делали с использованием библиотеки SDL:
- работали со звуком,
- обрабатывали события клавиатуры,
- рисовали шрифты, спрайты, UI.
API и семантика нашего FFI идентичны PHP. Поэтому созданная игра запустится и на KPHP, и на PHP.
Если вам интересны детали реализации, заглядывайте под кат!


