<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Примеры dll на GCC 64 для работы со скриптом]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Примеры dll на GCC 64 для работы со скриптом форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sun, 03 May 2026 01:11:43 +0300</pubDate>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message73462/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			вариант вывода время в секундах и миллисекунды с шагом 0.0001 
====code====
<pre>static int Data(lua_State *L){ 
&nbsp;&nbsp;&nbsp;GetSystemTimePreciseAsFileTime(&#38;UTC);
&nbsp;&nbsp;&nbsp;LARGE_INTEGER z; z.LowPart=UTC.dwLowDateTime;
&nbsp;&nbsp;z.HighPart = UTC.dwHighDateTime; 
 long ns=z.QuadPart%10000000ULL; 
 time_t t=z.QuadPart /10000000ULL - 11644473600ULL; 
 lua_pushinteger(L,t);
lua_pushinteger(L,ns);
return 2;
}
</pre>
=============
тест:
====code====
<pre>while true do
local t,nc=nkvm.Data();
print(t,nc);
end
</pre>
=============
<br />результат:<br />
====code====
<pre>1704785739&nbsp;&nbsp;&nbsp;9970111
1704785739&nbsp;&nbsp;&nbsp;9970232
1704785739&nbsp;&nbsp;&nbsp;9970356
1704785739&nbsp;&nbsp;&nbsp;9970477
1704785740&nbsp;&nbsp;&nbsp;1022793
1704785740&nbsp;&nbsp;&nbsp;1023025
1704785740&nbsp;&nbsp;&nbsp;1023153
1704785740&nbsp;&nbsp;&nbsp;1023270

</pre>
============= <br />
			<i>09.01.2024 10:39:41, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message73462/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message73462/topic8351/</guid>
			<pubDate>Tue, 09 Jan 2024 10:39:41 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message73460/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_5xf2mFfY" href="/user/15910/" bx-tooltip-user-id="15910">Serge123</a> написал:<br />Это не то: GetSystemTimePreciseAsFileTime выдаёт время в UTC (число 100 нс интервалов с 1 января 1601 г. по текущее время). Теперь надо получить из него часы, минуты, секунды и микросекунды с десятыми с часами для локального времени. Я уже почти написал программку для этого перевода, но вроде бы должна быть готовая в какой-нибудь библиотеке для Си...<br />=============<br />Вы можете получать время до секунды обычными функциями луа.<br />---------------------<br />Для получения числа миллисикунд с шагом 0.1 мкс <br />выкладываю функцию на C for Lua, которую надо добавить в DLL для Lua:
====code====
<pre>static int ms(lua_State *L){ 
&nbsp;&nbsp;&nbsp;GetSystemTimePreciseAsFileTime(&#38;UTC);
&nbsp;&nbsp;&nbsp;LARGE_INTEGER z; z.LowPart=UTC.dwLowDateTime;
&nbsp;&nbsp;z.HighPart = UTC.dwHighDateTime; 
 long ns=z.QuadPart%10000000ULL; 
 double x=((double)ns)/10000.;
lua_pushnumber(L,x);
return 1; }

</pre>
=============
В результате получим следующее
====code====
<pre>Tue Jan&nbsp;&nbsp;9 10:57:47 2024
944.631400
Tue Jan&nbsp;&nbsp;9 10:57:47 2024
944.667900
Tue Jan&nbsp;&nbsp;9 10:57:47 2024
944.704500
Tue Jan&nbsp;&nbsp;9 10:57:47 2024
944.741300
Tue Jan&nbsp;&nbsp;9 10:57:48 2024
45.804000
Tue Jan&nbsp;&nbsp;9 10:57:48 2024
45.864200
Tue Jan&nbsp;&nbsp;9 10:57:48 2024
45.921100
Tue Jan&nbsp;&nbsp;9 10:57:48 2024

</pre>
============= <br />
			<i>09.01.2024 09:59:34, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message73460/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message73460/topic8351/</guid>
			<pubDate>Tue, 09 Jan 2024 09:59:34 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message73458/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_SRffiefb" href="/user/15910/" bx-tooltip-user-id="15910">Serge123</a> написал:<br />GetSystemTimePreciseAsFileTime<br />=============<br /><noindex><a href="https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/localtime-localtime32-localtime64?view=msvc-170" target="_blank" rel="nofollow">https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/localtime-localtime32-localtime64?...</a></noindex> <br />
			<i>09.01.2024 08:26:06, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message73458/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message73458/topic8351/</guid>
			<pubDate>Tue, 09 Jan 2024 08:26:06 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message73451/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Z63rTvDN" href="/user/15910/" bx-tooltip-user-id="15910">Serge123</a> написал:<br />А как мне в Си перевести вывод функции GetSystemTimePreciseAsFileTime в часы, минуты, секунды и микросекунды?<br />=============<br /><noindex><a href="https://learn.microsoft.com/en-us/windows/win32/api/timezoneapi/nf-timezoneapi-filetimetosystemtime" target="_blank" rel="nofollow">https://learn.microsoft.com/en-us/windows/win32/api/timezoneapi/nf-timezoneapi-filetimetosystemtime</a></noindex> до миллисекунд. Микросекунды -- подберите делитель после <noindex><a href="https://learn.microsoft.com/en-us/windows/win32/api/minwinbase/ns-minwinbase-filetime" target="_blank" rel="nofollow">преобразования</a></noindex> FILETIME в число. Я в плюсах для виндового времени делаю так (гуглите название константы из коммента), после чего форматирую время общеиспользуемой fmtlib:<br /><br />
====code====
<pre>using clk = std::chrono::system_clock;
clk::time_point item_mem::tp() const {
&nbsp;&nbsp;// SECS_BETWEEN_1601_AND_1970_EPOCHS * SECS_TO_100NS
&nbsp;&nbsp;return clk::time_point(clk::duration(win_filetime_rep - 11644473600LL * 10000000));
}
</pre>
============= <br />
			<i>08.01.2024 21:26:44, funduk.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message73451/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message73451/topic8351/</guid>
			<pubDate>Mon, 08 Jan 2024 21:26:44 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message73447/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Это не то: GetSystemTimePreciseAsFileTime выдаёт время в UTC (число 100 нс интервалов с 1 января 1601 г. по текущее время). Теперь надо получить из него часы, минуты, секунды и микросекунды с десятыми с часами для локального времени. Я уже почти написал программку для этого перевода, но вроде бы должна быть готовая в какой-нибудь библиотеке для Си... <br />
			<i>08.01.2024 20:40:37, Serge123.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message73447/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message73447/topic8351/</guid>
			<pubDate>Mon, 08 Jan 2024 20:40:37 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message73444/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_DGJTbmC4" href="/user/15910/" bx-tooltip-user-id="15910">Serge123</a> написал:<br />GetSystemTimePreciseAsFileTim<br />=============<br /><noindex><a href="https://learn.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-getsystemtimepreciseasfiletime" target="_blank" rel="nofollow">https://learn.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-getsystemtimepreciseasf...</a></noindex> <br />
			<i>08.01.2024 20:27:59, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message73444/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message73444/topic8351/</guid>
			<pubDate>Mon, 08 Jan 2024 20:27:59 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message73438/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			А как мне в Си перевести вывод функции GetSystemTimePreciseAsFileTime в часы, минуты, секунды и микросекунды? <br />
			<i>08.01.2024 18:24:27, Serge123.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message73438/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message73438/topic8351/</guid>
			<pubDate>Mon, 08 Jan 2024 18:24:27 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message73437/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Спасибо, интересная информация. <br />
			<i>08.01.2024 18:15:26, Serge123.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message73437/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message73437/topic8351/</guid>
			<pubDate>Mon, 08 Jan 2024 18:15:26 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message73402/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Такая организация позволяет не возиться с package.path, package.cpath, не иметь лишних dll в корневой папке квика и потенциально юзать в разных установках квика скрипты из одной папки. <br />
			<i>06.01.2024 16:50:17, funduk.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message73402/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message73402/topic8351/</guid>
			<pubDate>Sat, 06 Jan 2024 16:50:17 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message73401/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_LXytlet4" href="/user/15910/" bx-tooltip-user-id="15910">Serge123</a> написал:<br />4. В аналогичном скрипте на Луа я накапливаю информацию в переменной-строке о сделках и стаканах и после достижения, скажем, 10 Мб дописываю её в файл и потом присваиваю этой переменной пустую строку. При этом каждый раз память для неё освобождается сборщиком мусора и затем выделяется и довыделяется много раз при её заполнении информацией. А выделение памяти не быстрый процесс. На си такой проблемы нет. Можно ли на Луа работу с этим буфером вывода сделать быстрее?<br />=============<br />Накапливайте строки в таблице. Перед дампом делайте table.concat. Реализация table.concat в исходниках lua такова, что там одно выделение памяти на сумму длин строк в таблице.<br />Но в Lua я не парюсь и юзаю PrintDbgStr + DebugView++.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_pRCy9B4x" href="/user/15910/" bx-tooltip-user-id="15910">Serge123</a> написал:<br />5. В своём аналогичном скрипте на Луа при выводе содержимого стакана в переменную я беру текущее время через os.sysdate, она даёт даже мкс, откуда у неё такая точность?<br />=============<br />Используется <noindex><a href="https://learn.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-getsystemtimepreciseasfiletime" target="_blank" rel="nofollow">GetSystemTimePreciseAsFileTime<br />====quote====<br /><a class="blog-p-user-name" id="bp_R6RctYAT" href="/user/15910/" bx-tooltip-user-id="15910">Serge123</a> написал:<br />1. Скрипт, который работает с этой длл, начинается так:<br />=============<br /></a></noindex><br />У меня такой код никогда не приводил к описанной ошибке, пока lua_share.dll была в папке со скриптом:<br />
====code====
<pre>package.cpath = getScriptPath() .. "/?.dll"
sh = require "lua_share"
</pre>
=============
Но в результате мне больше нравится положить все dll&#39;ки в одну папку так:<br /><br />
====code====
<pre>c:&#92;QUIK_installs&#92;
lib&#92;&nbsp;&nbsp;&nbsp;
lib&#92;lua&#92;&nbsp;&nbsp;&nbsp;
lib&#92;lua&#92;5.3&#92;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;тут dll для 5.3
lib&#92;lua&#92;5.3&#92;vcl&#92;&nbsp;&nbsp;&nbsp;и тут тоже
lib&#92;lua&#92;5.4&#92;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;а тут для 5.4
lib&#92;lua&#92;5.4&#92;vcl&#92;&nbsp;&nbsp;&nbsp;и тут
QUIK_BCS&#92;&nbsp;&nbsp;&nbsp;
QUIK_BCS&#92;info.exe&nbsp;&nbsp;&nbsp;квик тут
QUIK_BCS&#92;lua&#92;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;скрипты тут и в подпапках юзают правильную версию dll из lib/5.* без возни с package.cpath, и умеют require "name" для правильных версий share/5.*/name.lua
QUIK_BCS&#92;lua&#92;lua_share_examples_5.4&#92;&nbsp;&nbsp;&nbsp;
QUIK_BCS&#92;lua&#92;MA server&#92;&nbsp;&nbsp;&nbsp;
QUIK_BCS&#92;lua&#92;MA server&#92;share&#92;&nbsp;&nbsp;&nbsp;
QUIK_BCS&#92;lua&#92;История позиций&#92;&nbsp;&nbsp;&nbsp;
QUIK_BCS&#92;LuaIndicators&#92;&nbsp;&nbsp;&nbsp;
QUIK_megabroker&#92;
QUIK_megabroker&#92;info.exe&nbsp;&nbsp;&nbsp;а тут другая установка квика, но я так не пробовал ещё, поэтому и другие скрипты не перенёс изнутри первой установки квика
...
share&#92;&nbsp;&nbsp;&nbsp;
share&#92;lua&#92;&nbsp;&nbsp;&nbsp;
share&#92;lua&#92;5.3&#92;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;тут общедоступные lua модули для 5.3
share&#92;lua&#92;5.4&#92;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;тут общедоступные lua модули для 5.4

</pre>
============= <br />
			<i>06.01.2024 16:46:48, funduk.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message73401/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message73401/topic8351/</guid>
			<pubDate>Sat, 06 Jan 2024 16:46:48 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message73341/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_0VYybe7W" href="/user/15910/" bx-tooltip-user-id="15910">Serge123</a> написал:<br />Уточнение: на си я получаю текущее время моего ПК через GetLocalTime, три часа разницы...<br />=============<br />я же написал : &quot; в версиях от 5.3 &quot; &nbsp;т е и в 5.3 и 5.4 и дальше - разные.<br />-------------------<br />Для измерения времени работы напишите две ф-ции на си в DLL типа
====code====
<pre>LARGE_INTEGER count;
LARGE_INTEGER count1;
static int start(lua_State *L) { QueryPerformanceCounter(&#38;count); return 0; }
static int stop(lua_State *L) {QueryPerformanceCounter(&#38;count1);
 &nbsp;&nbsp;&nbsp;lua_pushinteger(L,(count1.QuadPart-count.QuadPart));&nbsp;&nbsp;&nbsp;return 1; }

</pre>
=============
 <br />квант времени 0.1 мкс.<br />===================== &nbsp;<br />Я синхронизирую компьютер с сервером точного времени. <br />Погрешность синхронизации не более 10 ms.<br />Можно в скрипт принимать с сервера точного времени.<br />---------------------- &nbsp;<br />Еще учитывайте, что квант времени задачи в винде это 10 ms.<br />=================== &nbsp;<br />Обработку колбеков выполняю выношу в main и в других потоках из пула потоков. <br />Поэтому все колбеки у меня близнецы:
====code====
<pre>function OnTransReply(t) tprm&#91;#tprm+1&#93;={1,t}; &nbsp;&nbsp;&nbsp;nkevent.Set(event); end
function OnOrder(t)&nbsp;&nbsp;tprm&#91;#tprm+1&#93;={2,t}; nkevent.Set(event); end
function OnStopOrder(t) tprm&#91;#tprm+1&#93;={3,t}; nkevent.Set(event); &nbsp;&nbsp;&nbsp; end
function OnTrade(t)&nbsp;&nbsp;tprm&#91;#tprm+1&#93;={4,t}; nkevent.Set(event);end 
function OnParam(c,s) tprm&#91;#tprm+1&#93;={14,{c,s}}; nkevent.Set(event); &nbsp;&nbsp;&nbsp;end
...</pre>
============= <br />
			<i>04.01.2024 15:04:57, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message73341/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message73341/topic8351/</guid>
			<pubDate>Thu, 04 Jan 2024 15:04:57 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message73339/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Уточнение: на си я получаю текущее время моего ПК через GetLocalTime, три часа разницы... <br />
			<i>04.01.2024 14:33:01, Serge123.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message73339/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message73339/topic8351/</guid>
			<pubDate>Thu, 04 Jan 2024 14:33:01 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message73338/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_ZGFyPOog" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />lua_tonumber и lua_tointeger &nbsp;в версиях от 5.3 - это разные форматы. &nbsp;double и long.<br />=============<br />А в Lua 5.4 одинаковые? Как это узнать?<br /><br />Я для интереса написал в длл на си &quot;ядерную триаду&quot;: обработчики OnAllTrade и OuQuote + getQuoteLevel2. Постарался, чтобы работало как можно быстрее. В примерах, которые я видел, написано не так оптимизированно, как у меня. Неплохо было бы как-то сравнить скорости с моими аналогичными обработчиками на Lua...<br /><br />Возникли такие мелкие вопросы:<br /><br />1. Скрипт, который работает с этой длл, начинается так:
====code====
<pre>package.loadlib(getScriptPath() .. "&#92;&#92;OnAllTrade.dll", "luaopen_OnAllTrade")()
require("OnAllTrade")</pre>
=============
Я где-то увидел, что таким путём можно длл помещать в папку со скриптами вместо корневой папки Квика. Но почему-то при первом запуске скрипт не находит этой длл в папке со скриптами, поэтому длл приходится помещать в корневую папку. При последующих запусках скрипта длл можно удалить из корневой папки и размещать в папку со скриптами, это работает. Кто может объяснить этот эффект и сказать, как это исправить?<br /><br />2. Можно ещё быстрее работать со стеком Луа при обработке полученных таблиц? Например, можно ли быстрее получить из таблиц bid и offer значения price и quantity (по 20 штук каждых)?<br /><br />3. Я после вызова функций QLua из длл не очищаю стек, потому что он после этого вроде бы становится мусором для уборки. Достаточно следить, чтобы стек не превышал 20 элементов. Это верно?<br /><br />4. В аналогичном скрипте на Луа я накапливаю информацию в переменной-строке о сделках и стаканах и после достижения, скажем, 10 Мб дописываю её в файл и потом присваиваю этой переменной пустую строку. При этом каждый раз память для неё освобождается сборщиком мусора и затем выделяется и довыделяется много раз при её заполнении информацией. А выделение памяти не быстрый процесс. На си такой проблемы нет. Можно ли на Луа работу с этим буфером вывода сделать быстрее?<br /><br />5. В своём аналогичном скрипте на Луа при выводе содержимого стакана в переменную я беру текущее время через os.sysdate, она даёт даже мкс, откуда у неё такая точность? Может, лучше как-то получать время сервера брокера, это будет точнее? Кстати, на этом форуме ещё в 2015 г. просили с содержимым стакана передавать время с сервера (биржи?), когда было изменение, но почему это не сделали?<br />На си я для этого получаю время через GetSystemTime, там только мс, приходится дописывать к ним справа 000, чтобы был формат с мкс, как выдаёт OnAllTrade. С этим ничего нельзя поделать? <br />
			<i>04.01.2024 14:25:48, Serge123.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message73338/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message73338/topic8351/</guid>
			<pubDate>Thu, 04 Jan 2024 14:25:48 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message73073/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_iELqBzuV" href="/user/15910/" bx-tooltip-user-id="15910">Serge123</a> написал:<br />Насколько я понял, lua_tonumber и lua_tointeger это одно и то же и ничего она не преобразовывает, просто переписывает с вершины стека в заданную переменную 8 байтов?<br /><br />И ещё хотел спросить: неужели с рублями и копейками работают в формате double? В этом случае при расчётах может накапливаться ошибка. Как я помню, в фин. расчётах рубли и копейки хранили в виде строк, напр. &quot;123.456000&quot;.<br />=============<br />lua_tonumber и lua_tointeger &nbsp;в версиях от 5.3 - это разные форматы. &nbsp;double и long. <br />
			<i>19.12.2023 10:52:08, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message73073/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message73073/topic8351/</guid>
			<pubDate>Tue, 19 Dec 2023 10:52:08 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message73058/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Насколько я понял, lua_tonumber и lua_tointeger это одно и то же и ничего она не преобразовывает, просто переписывает с вершины стека в заданную переменную 8 байтов?<br /><br />И ещё хотел спросить: неужели с рублями и копейками работают в формате double? В этом случае при расчётах может накапливаться ошибка. Как я помню, в фин. расчётах рубли и копейки хранили в виде строк, напр. &quot;123.456000&quot;. <br />
			<i>18.12.2023 11:12:05, Serge123.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message73058/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message73058/topic8351/</guid>
			<pubDate>Mon, 18 Dec 2023 11:12:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message73057/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_gYVDO5ts" href="/user/82/" bx-tooltip-user-id="82">swerg</a> написал:<br />Хочешь по-взрослому - и страдай тогда по-взрослому, не плачь ;)<br />=============<br />Да у меня всё работает, просто чисто женское любопытство. :-) <br />
			<i>18.12.2023 10:57:01, Serge123.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message73057/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message73057/topic8351/</guid>
			<pubDate>Mon, 18 Dec 2023 10:57:01 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message73056/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_So0Y0Ab7" href="/user/15910/" bx-tooltip-user-id="15910">Serge123</a> написал:<br /> Вернее, транслятор ошибку не выдаёт, но для выделения флагов в C придётся преобразовать тип &nbsp;flags к (u)int64_t, что выглядит не очень красиво...<br />=============<br /><br />Это половые трудности того, кто зачем-то пытается делать роботов на Си вместо Lua.<br /><br />Хочешь по-взрослому - и страдай тогда по-взрослому, не плачь ;) <br />
			<i>18.12.2023 10:08:36, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message73056/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message73056/topic8351/</guid>
			<pubDate>Mon, 18 Dec 2023 10:08:36 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message73055/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_yiYrqV64" href="/user/15910/" bx-tooltip-user-id="15910">Serge123</a> написал:<br />Поясните, почему в таблицах Квика orders, trades, ... переменная flags, хранящая битовые флаги, имеет тип NUMBER (что в переводе на C значит double), а не INTEGER? <br />=============<br />Потому что в Lua5.1, которая изначально была прикручена в quik, тип number мог быть либо int, либо double. В зависимости от параметров сборки.<br />Одновременно int и double там не существовало. <br />Для QLua выбрали вариант сборки с double, по понятным причинам.<br /><br />Так оно теперь и повелось. <br />
			<i>18.12.2023 10:06:29, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message73055/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message73055/topic8351/</guid>
			<pubDate>Mon, 18 Dec 2023 10:06:29 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message73053/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_CaFudAU2" href="/user/15910/" bx-tooltip-user-id="15910">Serge123</a> написал:<br />Если на C переменной, в которую читаю flags, присвоить тип LUA_NUMBER, то транслятор выдаёт ошибку: должен быть тип целого числа.<br />=============<br />Вернее, транслятор ошибку не выдаёт, но для выделения флагов в C придётся преобразовать тип &nbsp;flags к (u)int64_t, что выглядит не очень красиво... <br />
			<i>17.12.2023 22:19:03, Serge123.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message73053/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message73053/topic8351/</guid>
			<pubDate>Sun, 17 Dec 2023 22:19:03 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message73052/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Поясните, почему в таблицах Квика orders, trades, ... переменная flags, хранящая битовые флаги, имеет тип NUMBER (что в переводе на C значит double), а не INTEGER? Ведь тип<br />LUA_NUMBER это double (64 бита)<br />LUA_INTEGER это long (64 бита)<br />(под 64-битовой ОС)<br />Эти флаги в C правильно получать функцией lua_tointeger или lua_tonumber? Вроде бы работает и то и это... Тот же вопрос насчёт поля qty.<br />И почему в подтаблице datetime поля также имеют тип NUMBER, а не INTEGER? Они что, внутри Lua имеют тип double?<br /><br />Если на C переменной, в которую читаю flags, присвоить тип LUA_NUMBER, то транслятор выдаёт ошибку: должен быть тип целого числа. <br />
			<i>17.12.2023 22:11:13, Serge123.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message73052/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message73052/topic8351/</guid>
			<pubDate>Sun, 17 Dec 2023 22:11:13 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message73050/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_fqs8bM6s" href="/user/15910/" bx-tooltip-user-id="15910">Serge123</a>, уже говорил, но повторю, что я юзаю <noindex><a href="https://github.com/ThePhD/sol2" target="_blank" rel="nofollow">библиотеку sol3</a></noindex> , чтобы писать на C++ вместо Lua и почти полностью забыть о стеке и Lua API. Библиотек под Lua маловато, критика в цитате обоснована. А python, да, медленный и изначально не параллельный. <br />
			<i>17.12.2023 00:36:12, funduk.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message73050/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message73050/topic8351/</guid>
			<pubDate>Sun, 17 Dec 2023 00:36:12 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message73047/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_S7j0Pvut" href="/user/15910/" bx-tooltip-user-id="15910">Serge123</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/13952/" target="_blank" rel="nofollow">TGB</a></noindex> написал:<br />От себя добавлю: возможно, для вас окажется полезным сайт &nbsp; <noindex><a href="https://quikluacsharp.ru/" target="_blank" rel="nofollow">https://quikluacsharp.ru/</a></noindex> &nbsp; <br />=============<br /> Кстати, хотел найти работающий пример для разбора таблиц в длл, взял с этого сайта код quikluacsharp.ru/qlua-c-cpp-csharp/primer-realizatsii-funktsii-obratnogo-vyzova-onalltrade-vnutri-dll/<br />а там полная ерунда: вместо lua_pushcfunction написано lua_pushcclosure. Да и luaL_openlib уже устарела и здесь не нужен также и новый её вариант для луа 5.4. Потерял много времени...<br />=============<br />Пример есть в документации по Lua <br /><noindex><a href="https://www.lua.org/manual/5.4/manual.html" target="_blank" rel="nofollow">https://www.lua.org/manual/5.4/manual.html</a></noindex> <br />
			<i>16.12.2023 09:21:50, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message73047/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message73047/topic8351/</guid>
			<pubDate>Sat, 16 Dec 2023 09:21:50 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message73040/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_CA0fpfB5" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a> написал:<br />От себя добавлю: возможно, для вас окажется полезным сайт &nbsp;<noindex><a href="https://quikluacsharp.ru/" target="_blank" rel="nofollow">https://quikluacsharp.ru/</a></noindex> &nbsp;<br />=============<br />Кстати, хотел найти работающий пример для разбора таблиц в длл, взял с этого сайта код quikluacsharp.ru/qlua-c-cpp-csharp/primer-realizatsii-funktsii-obratnogo-vyzova-onalltrade-vnutri-dll/<br />а там полная ерунда: вместо lua_pushcfunction написано lua_pushcclosure. Да и luaL_openlib уже устарела и здесь не нужен также и новый её вариант для луа 5.4. Потерял много времени... <br />
			<i>15.12.2023 14:08:38, Serge123.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message73040/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message73040/topic8351/</guid>
			<pubDate>Fri, 15 Dec 2023 14:08:38 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message73022/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_vtp7ump5" href="/user/15910/" bx-tooltip-user-id="15910">Serge123</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/82/" target="_blank" rel="nofollow">swerg</a></noindex> написал:<br />Хотя, если честно, я бы рекомендовал писать и отлаживать алгоритмы на Lua. Это намного проще. И только если будут выявляться какие-то узкие места в производительности - что-то выносить в dll.<br />=============<br /> А что вы скажете об этих рассуждениях о qlua, которые я только что увидел на &nbsp;<noindex><a href="https://smart-lab.ru/blog/922044.php" target="_blank" rel="nofollow">smart-lab.ru/blog/922044.php</a></noindex> &nbsp;<br />===<br />Каждого, кто собирается программировать на QLua, должен сильно волновать ответ на следующий вопрос: стоит ли изучать Lua или воспользоваться некоей библиотекой (как пример QuikSharp + QuikPy) и в дальнейшем писать свои программы на другом ( скажем мягко — менее экзотическом) языке (Python, C#, С++ и т.п.).<br />Когда разработчики Квика встраивали Луа в &nbsp;Квик, это был (Луа 5.1 х32) популярный язык с огромным количеством всяких разных библиотек, компилятором (LuaJIT), своим менеджером пакетов и большим комьюнити. Потом прошло некоторое количество времени, Луа в Квике изменился на Луа 5.4 х64 и все достоинства его превратились в тыкву. Оказалось, что это практически умирающий ( утопающий) язык, поддержка которого — дело рук самих утопающих. Кто-то успел ухватить тренд и быстренько переписал все на Python и остался конкурентноспособен ( хороший пример Torch -&gt; PyTorch ), кто-то все проспал и утонул (ну или еще пока барахтается).<br />В связи с выше сказанным, очень хотелось бы выяснить, так сказать на берегу, стоит ли свеч QLua, или можно построить такого же стабильного и быстрого робота на другом языке.<br />===<br />Простых алгоритмов или несколько роботов запустить, это всё будет вполне устойчиво работать. Что-то более сложное (сотни стратегий торговых, постоянная оптимизация под рынок, с оперативным управлением и ротацией роботов) действительно пишутся уже в связке или полностью на других языках.<br />===<br />=============<br />см басню Крылова &quot;Лиса и виноград&quot;<br />---------------------<br />QLua - это не язык программирования, а библиотека написанная на СИ &nbsp;с интерфейсом VMLua для взаимодействия с терминалом QUIK.<br /><br />Lua как и Питон - скриптовый язык. И не существует железа, которое может исполнять непосредственно байт-код.<br />Байт-код всегда исполняется функциями на СИ.<br />------------------ <br />Никто не мешает писать на Питон, если Вам это нравиться. <br />Но Питон - это тормоз еще тот.<br />--------------<br />Что же касается Torch, то там еще прикольнее, так как все библиотеки линейной алгебры (BLAS) написаны на фортране.<br />============== &nbsp;<br />Для справки еще есть LuaJit и Terra , в которых реализованы параллельные вычисления.<br /> &nbsp; <br />
			<i>14.12.2023 06:39:13, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message73022/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message73022/topic8351/</guid>
			<pubDate>Thu, 14 Dec 2023 06:39:13 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message73020/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_3PgV9Z97" href="/user/82/" bx-tooltip-user-id="82">swerg</a> написал:<br />Хотя, если честно, я бы рекомендовал писать и отлаживать алгоритмы на Lua. Это намного проще. И только если будут выявляться какие-то узкие места в производительности - что-то выносить в dll.<br />=============<br />А что вы скажете об этих рассуждениях о qlua, которые я только что увидел на <noindex><a href="https://smart-lab.ru/blog/922044.php" target="_blank" rel="nofollow">smart-lab.ru/blog/922044.php</a></noindex> <br />===<br />Каждого, кто собирается программировать на QLua, должен сильно волновать ответ на следующий вопрос: стоит ли изучать Lua или воспользоваться некоей библиотекой (как пример QuikSharp + QuikPy) и в дальнейшем писать свои программы на другом ( скажем мягко — менее экзотическом) языке (Python, C#, С++ и т.п.).<br />Когда разработчики Квика встраивали Луа в &nbsp;Квик, это был (Луа 5.1 х32) популярный язык с огромным количеством всяких разных библиотек, компилятором (LuaJIT), своим менеджером пакетов и большим комьюнити. Потом прошло некоторое количество времени, Луа в Квике изменился на Луа 5.4 х64 и все достоинства его превратились в тыкву. Оказалось, что это практически умирающий ( утопающий) язык, поддержка которого — дело рук самих утопающих. Кто-то успел ухватить тренд и быстренько переписал все на Python и остался конкурентноспособен ( хороший пример Torch -&gt; PyTorch ), кто-то все проспал и утонул (ну или еще пока барахтается).<br />В связи с выше сказанным, очень хотелось бы выяснить, так сказать на берегу, стоит ли свеч QLua, или можно построить такого же стабильного и быстрого робота на другом языке.<br />===<br />Простых алгоритмов или несколько роботов запустить, это всё будет вполне устойчиво работать. Что-то более сложное (сотни стратегий торговых, постоянная оптимизация под рынок, с оперативным управлением и ротацией роботов) действительно пишутся уже в связке или полностью на других языках.<br />=== <br />
			<i>14.12.2023 00:45:36, Serge123.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message73020/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message73020/topic8351/</guid>
			<pubDate>Thu, 14 Dec 2023 00:45:36 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message73012/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Я собираю dll для любых версий луа, в том числе и с использованием AVX2 на Pelles С for Windows. <br />Для сборки на СИ под виндой это лучшее. &nbsp; <br />
			<i>13.12.2023 13:17:31, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message73012/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message73012/topic8351/</guid>
			<pubDate>Wed, 13 Dec 2023 13:17:31 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message73008/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			&gt; Вы взяли готовую сборку или собирали самостоятельно?<br /><br />Взял готовую.<br /><br />&gt; От себя добавлю: возможно, для вас окажется полезным сайт <noindex><a href="https://quikluacsharp.ru/" target="_blank" rel="nofollow">https://quikluacsharp.ru/</a></noindex><br /><br />Спасибо, я туда уже заглядывал. <br />
			<i>13.12.2023 11:12:56, Serge123.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message73008/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message73008/topic8351/</guid>
			<pubDate>Wed, 13 Dec 2023 11:12:56 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message72827/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_uy8Z2x14" href="/user/15910/" bx-tooltip-user-id="15910">Serge123</a> написал:<br />Теперь меня интересует, как получать в длл таблицы от луа и разбирать их, напр., таблицу заявок и обезличенных сделок. Я несколько лет назад перешёл с Дельфи 7 на си под 64 бит и gcc, теперь неохота сидеть на 2-х стульях.<br />=============<br /> &nbsp; Я согласен с тем, что выше написал swerg.<br /> От себя добавлю: возможно, для вас окажется полезным сайт <noindex><a href="https://quikluacsharp.ru/" target="_blank" rel="nofollow">https://quikluacsharp.ru/</a></noindex> , на котором есть много чего интересного, в том числе "КРАТКАЯ СПРАВКА ПО ЯЗЫКУ LUA.PDF", написанная мною. В ней есть описание трансляции C++ dll для Lua, а также краткое описание C-API Lua. <br />
			<i>30.11.2023 09:42:54, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message72827/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message72827/topic8351/</guid>
			<pubDate>Thu, 30 Nov 2023 09:42:54 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message72826/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_EkxBYOGe" href="/user/15910/" bx-tooltip-user-id="15910">Serge123</a> написал:<br />Я несколько лет назад перешёл с Дельфи 7 на си под 64 бит и gcc, теперь неохота сидеть на 2-х стульях.<br />=============<br />dll для 64 бит Lua можно отлично делать на Lazarus или современных версиях Delphi, которые научились компилить под x64. Удобно и приятно я бы даже сказал.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_ETyXNFtu" href="/user/15910/" bx-tooltip-user-id="15910">Serge123</a> написал:<br />Теперь меня интересует, как получать в длл таблицы от луа и разбирать их, напр., таблицу заявок и обезличенных сделок.<br />=============<br />Информации об API в Lua очень много, почитайте.<br />Хотя, если честно, я бы рекомендовал писать и отлаживать алгоритмы на Lua. Это намного проще. И только если будут выявляться какие-то узкие места в производительности - что-то выносить в dll.<br />Сидеть копаться в Си-коде для работы с таблицами Lua - достаточно занудно. Сложного там ничего нет, API очень простое и понятное, но надо постоянно помнить про все нюансы; к тому же то, что в Lua пишется кратко просто и естественно (типа обращения к таблице по ключ) &nbsp;в Си шном API делается в несколько "команд". Короче краткости там и наглядности - никакой.<br />Так то не совсем мне понятно зачнем это. Ну кроме выпендрёжа "а у меня весь робот на Си!".<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_0BRIeBf7" href="/user/15910/" bx-tooltip-user-id="15910">Serge123</a> написал:<br />оболочку от swerg w32.dll<br />=============<br />Вы взяли готовую сборку или собирали самостоятельно? <br />
			<i>30.11.2023 00:24:45, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message72826/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message72826/topic8351/</guid>
			<pubDate>Thu, 30 Nov 2023 00:24:45 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Примеры dll на GCC 64 для работы со скриптом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message72825/topic8351/">Примеры dll на GCC 64 для работы со скриптом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_O4UMZvmC" href="/user/15910/" bx-tooltip-user-id="15910">Serge123</a> написал:<br />Спасибо, тов. swerg, за наше счастливое детство<br />=============<br />Всегда пожалуйста!<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_SQ4BrsQR" href="/user/15910/" bx-tooltip-user-id="15910">Serge123</a> написал:<br />Кстати, вчера я запустил в квике ваш пример луа скрипта из 1-го поста: &nbsp;<noindex><a href="https://quik2dde.ru/viewtopic.php?id=329" target="_blank" rel="nofollow">https://quik2dde.ru/viewtopic.php?id=329</a></noindex> &nbsp;Получил сообщение "C stack overflow".<br />=============<br />Судя по тому, что в указанном скрипте используется только <noindex><a href="https://quik2dde.ru/viewtopic.php?id=78" target="_blank" rel="nofollow">w32 библиотека</a></noindex> могу предположить, что вы используете данную библиотеку не с той версией Lua, в которой запускаете скрипты.<br /><br />Не понятно мне только почему вы спрашиваете здесь, а не там :) <br />
			<i>30.11.2023 00:15:18, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message72825/topic8351/</link>
			<guid>http://forum.quik.ru/messages/forum10/message72825/topic8351/</guid>
			<pubDate>Thu, 30 Nov 2023 00:15:18 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
