|
17 | 17 | Одним из вариантов было использовать [cxx](https://github.com/dtolnay/cxx) или подобные библиотеки. Это также бы потребовало использовать msvc.
|
18 | 18 |
|
19 | 19 | Другой вариант - вручную реализовать виртуальные таблицы, именно этот вариант и реализован.
|
20 |
| -На [godbolt](https://godbolt.org/z/KM3jaWMWs) можно посмотреть, как выглядят виртуальные таблицы для разных компиляторов. Виртуальные таблицы *msvc* отличаются от *gcc*/*clang*, при этом *gcc* и *clang* используют одинаковое ABI. Виртуальные таблицы реализованы в объеме достаточном для создания компоненты. |
| 20 | +На [godbolt](https://godbolt.org/z/KM3jaWMWs) можно посмотреть, как выглядят виртуальные таблицы для разных компиляторов. Виртуальные таблицы *msvc* отличаются от *gcc*/*clang*, при этом *gcc* и *clang* используют одинаковое ABI. Виртуальные таблицы реализованы в объеме достаточном для создания компоненты. Также, для тестирования с помощью [valgrind](https://valgrind.org/) и подобных утилит, разработана [библиотека тестирования](https://crates.io/crates/addin1c-test), выполненные тесты позволяют убедиться в надежности технологии. |
21 | 21 |
|
22 | 22 | ## Описание файлов
|
23 | 23 | ### пример компоненты:
|
|
58 | 58 | "env": {"DISPLAY": ":1"}
|
59 | 59 | ```
|
60 | 60 | Для разработки и тестирования также подходит [Учебная версия 1С](https://online.1c.ru/catalog/free/learning.php), но версия для windows только x32.
|
61 |
| -При разработке использовался rust последней стабильной версии. |
62 | 61 |
|
63 | 62 | ## Поддержка платформ
|
64 |
| -У меня в проде не используется, но в тестах использовал, проблем не замечено, также производные разработки тоже успешно используются. |
65 |
| -- Windows x64 - тестировал, работает и gnu и msvc. |
66 |
| -- Windows x32 - тестировал, работает и gnu и msvc. |
67 |
| -- Linux x64 - тестировал, работает. |
68 |
| -- Linux x32 - не тестировал, думаю что должно работать. |
| 63 | +Компоненты дополнительно протестированы с помощью [valgrind](https://valgrind.org/) на `linux` и [drmemory](https://drmemory.org/) на `windows`. |
| 64 | +- Windows x64 - протестировано, работает и gnu и msvc. |
| 65 | +- Windows x32 - протестировано, работает и gnu и msvc. |
| 66 | +- Linux x64 - протестировано, работает. |
| 67 | +- Linux x32 - не тестировал, думаю что должно работать, но платформа устарела. |
69 | 68 | - MacOS - не тестировал, думаю должно работать, т.к. работает Linux x64.
|
70 |
| -- Android/iOS/веб-клиент - не реализовано и планов таких нет. |
| 69 | +- Android/iOS/веб-клиент - не тестировал, не реализовано и планов таких нет. |
71 | 70 |
|
72 | 71 | ## Сборка без установки Rust в контейнере
|
73 | 72 | Собрать можно в контейнере с помощью скриптов: [build-with-docker-linux](build-with-docker-linux) и [build-with-docker-windows](build-with-docker-windows), требуется установленный `podman` или `docker`. Скрипты не предназначены для CI, а необходимы лишь для одноразовой сборки, чтобы пощупать технологию.
|
|
0 commit comments