OxL Справочник OxL
РусскийEnglish

ffi-demo

Интеграция с C (§16.1): компилятор читает заголовок через libclang, типы C отображаются в типы OxL (double → f64, int → i32, указатели → *T). Вызов внешней функции допустим только в unsafe, поэтому пакет прячет его за обычной функцией.

sh
oxl run examples/ffi-demo
oxl test examples/ffi-demo

На что смотреть:

  • import c "math.h" { sqrt, pow } и @nonblocking: вызов не уходит в пул блокирующих потоков.
  • fn hypot(…) -> f64 pure с unsafe { … } внутри — безопасный интерфейс.
  • export c fn compareInts(a: *u8, b: *u8) -> i32 — функция с C ABI, имя которой передаётся в qsort как указатель.
  • Сторонние библиотеки: [deps] zlib = { c = "system", header = "zlib.h" } в oxl.toml добавляет -lz к линковке.

Файлы проекта · Скачать (zip)