diff --git a/README.md b/README.md index 07b58b3..67adc34 100644 --- a/README.md +++ b/README.md @@ -113,15 +113,16 @@ flusql — это высокопроизводительная встраива ## Системные требования -Данный раздел описывает системные требования, предъявляемые как к аппаратному, так и к программному обеспечению, на котором планируется запускать `futriix` +Данный раздел описывает системные требования, предъявляемые как к аппаратному, так и к программному обеспечению, на котором планируется запускать `flusql` * Тип процессора: Intel 86x * Разрядность процессора: 64-бит * ОЗУ: от 4 Гб и выше * Операционная система: **Linux Fedora** (**рекомендуемая**), Linux семейства Debian (Ubintu, Linux Mint, Linux MX) + > [!WARNING] -> **Futriix может быть скомпилирован для следующих операционных систем: `OSX`, `Open Indiana`, `FreeBSD`, но сборка для этих операционных систем не проводилась!!!** +> **Flusql может быть скомпилирован для следующих операционных систем: `OSX`, `Open Indiana`, `FreeBSD`, но сборка для этих операционных систем не проводилась!!!**
(К началу)
@@ -218,6 +219,7 @@ cargo test По умолчанию, после компиляции в директории `/flusql/target/release` находится файл `libflusql.so`-это динамически подключаемая библиотека (shared object), созданная в процессе компиляции проекта flusql. + Для production сборки будет создана оптимизированная версия: ```sh @@ -230,25 +232,35 @@ cargo build --release * Без отладочной информации * Готов к использованию в production-среде + **libflusql.so** — это скомпилированная библиотека flusql, которая может использоваться как самостоятельный компонент или подключаться к другим программам для расширения их функциональности SQL и Lua возможностями. **Основное назначение** -Это скомпилированная версия Rust-библиотеки в формате динамической библиотеки для ОС семейства Linux: +**libflusql**-это скомпилированная версия Rust-библиотеки в формате динамической библиотеки для ОС семейства Linux: * .so — стандартное расширение для shared objects в Linux (аналог .dll в Windows) * Содержит откомпилированный код всех модулей проекта (кроме main.rs) * Может быть динамически загружена и использована другими программами + Данная библиотека создаётся, благодаря указанной конфигурации в файле `Cargo.toml`, а именно строке: `crate-type = ["cdylib", "staticlib", "rlib"]`. Она означает, что компилятор создает несколько форматов: + * cdylib → libflusql.so (динамическая библиотека для C-интерфейса) * staticlib → libflusql.a (статическая библиотека) * rlib → libflusql.rlib (Rust-специфичный формат для зависимостей) + **Практическое использование** + > [!IMPORTANT] + **Отличие библиотеки от исполняемого файла** + > flusql — самостоятельная программа (компилируется из src/main.rs) + > libflusql.so — библиотека для использования в других программах + + 1) Использование как библиотеки Lua Так как flusql поддерживает Lua, libflusql.so может использоваться как: @@ -256,6 +268,7 @@ cargo build --release * Модуль Lua (через require в Lua) * Расширение для других программ, которые могут загружать динамические библиотеки + 2) Интеграция с другими языками Библиотека может быть использована из: