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
|
* Тип процессора: Intel 86x
|
||||||
* Разрядность процессора: 64-бит
|
* Разрядность процессора: 64-бит
|
||||||
* ОЗУ: от 4 Гб и выше
|
* ОЗУ: от 4 Гб и выше
|
||||||
* Операционная система: **Linux Fedora** (**рекомендуемая**), Linux семейства Debian (Ubintu, Linux Mint, Linux MX)
|
* Операционная система: **Linux Fedora** (**рекомендуемая**), Linux семейства Debian (Ubintu, Linux Mint, Linux MX)
|
||||||
|
|
||||||
|
|
||||||
> [!WARNING]
|
> [!WARNING]
|
||||||
> **Futriix может быть скомпилирован для следующих операционных систем: `OSX`, `Open Indiana`, `FreeBSD`, но сборка для этих операционных систем не проводилась!!!**
|
> **Flusql может быть скомпилирован для следующих операционных систем: `OSX`, `Open Indiana`, `FreeBSD`, но сборка для этих операционных систем не проводилась!!!**
|
||||||
|
|
||||||
<p align="right">(<a href="#readme-top">К началу</a>)</p>
|
<p align="right">(<a href="#readme-top">К началу</a>)</p>
|
||||||
|
|
||||||
@ -218,6 +219,7 @@ cargo test
|
|||||||
|
|
||||||
По умолчанию, после компиляции в директории `/flusql/target/release` находится файл `libflusql.so`-это динамически подключаемая библиотека (shared object), созданная в процессе компиляции проекта flusql.
|
По умолчанию, после компиляции в директории `/flusql/target/release` находится файл `libflusql.so`-это динамически подключаемая библиотека (shared object), созданная в процессе компиляции проекта flusql.
|
||||||
|
|
||||||
|
|
||||||
Для production сборки будет создана оптимизированная версия:
|
Для production сборки будет создана оптимизированная версия:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
@ -230,25 +232,35 @@ cargo build --release
|
|||||||
* Без отладочной информации
|
* Без отладочной информации
|
||||||
* Готов к использованию в production-среде
|
* Готов к использованию в production-среде
|
||||||
|
|
||||||
|
|
||||||
**libflusql.so** — это скомпилированная библиотека flusql, которая может использоваться как самостоятельный компонент или подключаться к другим программам для расширения их функциональности SQL и Lua возможностями.
|
**libflusql.so** — это скомпилированная библиотека flusql, которая может использоваться как самостоятельный компонент или подключаться к другим программам для расширения их функциональности SQL и Lua возможностями.
|
||||||
|
|
||||||
|
|
||||||
**Основное назначение**
|
**Основное назначение**
|
||||||
|
|
||||||
Это скомпилированная версия Rust-библиотеки в формате динамической библиотеки для ОС семейства Linux:
|
**libflusql**-это скомпилированная версия Rust-библиотеки в формате динамической библиотеки для ОС семейства Linux:
|
||||||
|
|
||||||
* .so — стандартное расширение для shared objects в Linux (аналог .dll в Windows)
|
* .so — стандартное расширение для shared objects в Linux (аналог .dll в Windows)
|
||||||
* Содержит откомпилированный код всех модулей проекта (кроме main.rs)
|
* Содержит откомпилированный код всех модулей проекта (кроме main.rs)
|
||||||
* Может быть динамически загружена и использована другими программами
|
* Может быть динамически загружена и использована другими программами
|
||||||
|
|
||||||
|
|
||||||
Данная библиотека создаётся, благодаря указанной конфигурации в файле `Cargo.toml`, а именно строке: `crate-type = ["cdylib", "staticlib", "rlib"]`. Она означает, что компилятор создает несколько форматов:
|
Данная библиотека создаётся, благодаря указанной конфигурации в файле `Cargo.toml`, а именно строке: `crate-type = ["cdylib", "staticlib", "rlib"]`. Она означает, что компилятор создает несколько форматов:
|
||||||
|
|
||||||
|
|
||||||
* cdylib → libflusql.so (динамическая библиотека для C-интерфейса)
|
* cdylib → libflusql.so (динамическая библиотека для C-интерфейса)
|
||||||
* staticlib → libflusql.a (статическая библиотека)
|
* staticlib → libflusql.a (статическая библиотека)
|
||||||
* rlib → libflusql.rlib (Rust-специфичный формат для зависимостей)
|
* rlib → libflusql.rlib (Rust-специфичный формат для зависимостей)
|
||||||
|
|
||||||
|
|
||||||
**Практическое использование**
|
**Практическое использование**
|
||||||
|
|
||||||
|
> [!IMPORTANT]
|
||||||
|
**Отличие библиотеки от исполняемого файла**
|
||||||
|
> flusql — самостоятельная программа (компилируется из src/main.rs)
|
||||||
|
> libflusql.so — библиотека для использования в других программах
|
||||||
|
|
||||||
|
|
||||||
1) Использование как библиотеки Lua
|
1) Использование как библиотеки Lua
|
||||||
|
|
||||||
Так как flusql поддерживает Lua, libflusql.so может использоваться как:
|
Так как flusql поддерживает Lua, libflusql.so может использоваться как:
|
||||||
@ -256,6 +268,7 @@ cargo build --release
|
|||||||
* Модуль Lua (через require в Lua)
|
* Модуль Lua (через require в Lua)
|
||||||
* Расширение для других программ, которые могут загружать динамические библиотеки
|
* Расширение для других программ, которые могут загружать динамические библиотеки
|
||||||
|
|
||||||
|
|
||||||
2) Интеграция с другими языками
|
2) Интеграция с другими языками
|
||||||
|
|
||||||
Библиотека может быть использована из:
|
Библиотека может быть использована из:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user