Skip to content
/ qluacpp2 Public

Fork of @elelel luacpp & qluacpp projects with updates for my t18qsrv proxy server for QUIK.

Notifications You must be signed in to change notification settings

Arech/qluacpp2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

qluacpp2

Short description in English: Fork of elelel 's projects luacpp & qluacpp with updates for my t18qsrv proxy server for QUIK. If you are here just for using Lua from C++, look into original luacpp project, this one is too specialized for t18qsrv.

Each subdirectory applies to relevant original project and bears it's own license as set by @elelel. MIT, like Lua for luacpp subdirectory and GPL v3.0 for qluacpp.

The rest text is in Russian, because most likely it won't ever be used by non-Russian speaking people as it's intended for use with Russian stock market.


Зачем?

Сравнительно недавно МосБиржа и затем QUIK реализовали то, что они называют 19-значные идентификаторы сделок. @elelel считает, что эти идентификаторы могут быть чем угодно, поэтому возвращает их как строки. Так же он заинтересован поддерживать совместимость своих проектов как с 64битными, так и с 32битными системами на старом Lua 5.1 (QUIK версий до 8.5) и новом Lua 5.3 (Квик после 8.5). Я считаю, что эти идентификаторы не могут быть ничем иным, кроме как uint64, который надо именно так возвращать и обрабатывать, а о Lua 5.1 и 32 разрядных системах можно давно забыть.

Меня корёжит от мысли возврата строк в нагруженном коде, которые потом надо всё равно конвертить в uint64, поэтому этот форк - базовая причина "зачем?". Чтобы уменьшить бессмысленную нагрузку на и так тормозной Квик с тормозным Луа. Кроме того, на момент форка оба проекта @elelel не полностью поддерживают Lua 5.3 и всё равно требуют правки.

Да, ещё для совместимости с STL из MSVC2015, поскольку t18qsrv всё равно использует boost, то в namespace std вместо отсутствующего ::std::optional<> внедрён полностью аналогичный ::boost::optional<>. Для использования обратно стандартного просто определите #define T18_USE_STD_OPTIONAL.

Иных принципиальных отличий сейчас нет и не планируются.

Если появится новая информация или @elelel внесёт аналогичные исправления, форк скорее всего будет удалён. В любом случае, сначала проверяйте оригиналы.

По сути этот форк просто часть моего проекта t18qsrv, вынесенная в отдельную репу по причине лицензионной несовместимости, плюс для лучшего мониторинга.

Содержание

Первый комит репы - в точности оригинальные файлы elelel, выкачанные на момент 22 марта 2021. Изменения поверх - мои.

About

Fork of @elelel luacpp & qluacpp projects with updates for my t18qsrv proxy server for QUIK.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published