Update README.md
This commit is contained in:
parent
ec1f8eb471
commit
b8fa2f113b
19
README.md
19
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`, но сборка для этих операционных систем не проводилась!!!**
|
||||
|
||||
<p align="right">(<a href="#readme-top">К началу</a>)</p>
|
||||
|
||||
@ -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) Интеграция с другими языками
|
||||
|
||||
Библиотека может быть использована из:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user