<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Lua 5.3.5 connect Dll (Crash)]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Lua 5.3.5 connect Dll (Crash) форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sun, 12 Apr 2026 09:09:11 +0300</pubDate>
		<item>
			<title>Lua 5.3.5 connect Dll (Crash)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message45904/topic5521/">Lua 5.3.5 connect Dll (Crash)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_h0OXzj4H" href="/user/13012/" bx-tooltip-user-id="13012">Sergey</a> написал:<br />extern &quot;C&quot; LUALIB_API int luaopen_HydraConnector(lua_State * L)<br />=============<br />Еще одно место, где сами себя обманули. Надо писать явно __declspec(dllexport), макросом LUALIB_API вы получили скорее всего __declspec(dllimport), т.к. вряд ли LUA_LIB определен. Поэтому компилятор статические функции и повыкинул, они действительно нигде не используются. <br />
			<i>03.06.2020 22:00:58, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message45904/topic5521/</link>
			<guid>http://forum.quik.ru/messages/forum10/message45904/topic5521/</guid>
			<pubDate>Wed, 03 Jun 2020 22:00:58 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua 5.3.5 connect Dll (Crash)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message45901/topic5521/">Lua 5.3.5 connect Dll (Crash)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_M1ScwAK0" href="/user/13012/" bx-tooltip-user-id="13012">Sergey</a> написал:<br />переименовал свои функции из static int в int и заработало<br />=============<br />Скорей всего компилятор решил, что функции не используются и выоптимизировал их оттуда.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_Uca292uV" href="/user/13012/" bx-tooltip-user-id="13012">Sergey</a> написал:<br />Память которую Lua жрёт, постоянно увеличивается<br />=============<br />Так-то она увеличивается до примерно 100к, потом сборка мусора происходит. Это если ничего у вас не течет. Дьявол в деталях, может у вас загрузка длл и return в цикле или в колбеке.<br /><br />Есть косячок, кстати, в вашей тестовой функции. Если ни один иф не прошел, вы ничего на стек не кладете и возвращаете таки 1. И, напротив, если вдруг каким-то образом не один иф прошел, вы положите на стек лишнего. Конкретно в данном случае это невозможно, а так вообще лучше else if всегда использовать, так сами себя не обманете. <br />
			<i>03.06.2020 20:58:51, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message45901/topic5521/</link>
			<guid>http://forum.quik.ru/messages/forum10/message45901/topic5521/</guid>
			<pubDate>Wed, 03 Jun 2020 20:58:51 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua 5.3.5 connect Dll (Crash)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message45900/topic5521/">Lua 5.3.5 connect Dll (Crash)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			подскажите только, почему у меня Память которую Lua жрёт, постоянно увеличивается? там сейчас только вызов Dll и Return <br />
			<i>03.06.2020 20:45:42, Sergey.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message45900/topic5521/</link>
			<guid>http://forum.quik.ru/messages/forum10/message45900/topic5521/</guid>
			<pubDate>Wed, 03 Jun 2020 20:45:42 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua 5.3.5 connect Dll (Crash)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message45899/topic5521/">Lua 5.3.5 connect Dll (Crash)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			эмм... пересобрал ещё раз либу, и переименовал свои функции из static int в int и заработало -_-..... ну ок <br />
			<i>03.06.2020 20:44:30, Sergey.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message45899/topic5521/</link>
			<guid>http://forum.quik.ru/messages/forum10/message45899/topic5521/</guid>
			<pubDate>Wed, 03 Jun 2020 20:44:30 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua 5.3.5 connect Dll (Crash)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message45898/topic5521/">Lua 5.3.5 connect Dll (Crash)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Здравствуйте, в общем был на Lua 5.1 всё ок, работало, появилась нужда перейти на Quik 8.5.2.11 &nbsp;lua53.dll (lua 5.3)<br />Ну и в общем, при запуске Dll, она тут же: крашит Quik, загружает ЦП 100%, просто выдаёт ошибку. (Critical error ACCESS_VIOLATION in script)<br />Lib файл был собран 5.3.0<br />
====code====
<pre>static int forLua_TestFunc(lua_State* L)// Возвращает заданный текст
{


&nbsp;&nbsp;&nbsp;//закоментил что бы проверить работу без него MainЕ();&nbsp;&nbsp;// моя функция

&nbsp;&nbsp;&nbsp;if (check == 1)
&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lua_pushstring(L, "1");

&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;if (check == 2)
&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lua_pushstring(L, "2");
&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;if (check == 0)
&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lua_pushstring(L, "0");
&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//lua_pushstring(L, "0");

&nbsp;&nbsp;&nbsp;&nbsp;return(1);
}


//=== Регистрация реализованных в dll функций, чтобы они стали "видимы" для Lua ================================//
static struct luaL_Reg ls_lib&#91;&#93; = {
&nbsp;&nbsp; { "TestFunc", forLua_TestFunc },
&nbsp;&nbsp; { NULL, NULL }
};

//=== Регистрация названия библиотеки, видимого в скрипте Lua ==================================================//
extern "C" LUALIB_API int luaopen_HydraConnector(lua_State * L) {
&nbsp;&nbsp;&nbsp;lua_newtable(L);
&nbsp;&nbsp;&nbsp;luaL_setfuncs(L, ls_lib, 0);
&nbsp;&nbsp;&nbsp;lua_setglobal(L, "MyConnector");
&nbsp;&nbsp;&nbsp;&nbsp;return 0;
}
</pre>
============= <br />
			<i>03.06.2020 20:34:57, Sergey.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message45898/topic5521/</link>
			<guid>http://forum.quik.ru/messages/forum10/message45898/topic5521/</guid>
			<pubDate>Wed, 03 Jun 2020 20:34:57 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
