Skip to content

Commit

Permalink
Updated CONTRIBUTING.md
Browse files Browse the repository at this point in the history
WIP: #4.
  • Loading branch information
Enfernuz authored Apr 8, 2018
1 parent 0ea24d0 commit 141993b
Showing 1 changed file with 11 additions and 10 deletions.
21 changes: 11 additions & 10 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,18 +120,19 @@ TO BE DESCRIBED

Эти строчки можно убрать безболезненно, т.к. процессоры архитектуры x86 и amd64 имеют little endianness, так что препроцессор не вставит функции из `endian.h`, которые используются далее в файле, в конечный код.

3. Получить объектный файл: `gcc -O3 -I%PATH_TO_LUA%/include -с pb.c`, где %PATH_TO_LUA% -- путь до дистрибутива интерпретатора Lua.

Пример: `gcc -O3 -ID:/programs/LuaRocks/include -с pb.c`

4. Получить DLL: `gcc -shared -o pb.dll pb.o -L%libraries_folder% -l%lua_library%`, где `%libraries_folder%` -- папка с .dll-библиотеками Lua, `%lua_library%` -- имя .dll-библиотеки Lua.
3. Получить DLL:
```
gcc -O3 -shared -o pb.dll pb.c -I%PATH_TO_LUA%/include -L%libraries_folder% -l%lua_library%`
```
, где %PATH_TO_LUA% -- путь до дистрибутива интерпретатора Lua, `%libraries_folder%` -- папка с .dll-библиотеками Lua, `%lua_library%` -- имя .dll-библиотеки Lua.

Пример:
* `%libraries_folder%` -- `D:/QUIK`
* `%lua_library%` -- `qlua`
* Итого: `gcc -shared -o pb.dll pb.o -LD:/QUIK -lqlua`
Пример:
* `%PATH_TO_LUA%` -- `D:/programs/LuaRocks/include`
* `%libraries_folder%` -- `D:/QUIK`
* `%lua_library%` -- `qlua`
* Итого: `gcc -O3 -shared -o pb.dll pb.c -ID:/programs/LuaRocks/include -LD:/QUIK -lqlua`

Линковать лучше с прокси-библиотекой Lua (`qlua.dll`), которая поставляется в коробке с QUIK. Не уверен, что если слинковаться с DLL из, например, Lua for Windows, или с той, что поставляется с LuaRocks, то всё будет работать. Линковка с прокси-библиотекой lua5.1.dll, которая находится в корне QUIK, технически осуществима, но на деле при запуске скрипта происходит ошибка из-за того, что pd.dll вызовет загрузку lua5.1.dll, которая не загружается по умолчанию, и чтобы её загрузить, загрузчик начнёт рыться в системных путях. У меня в системных путях никакой lua5.1.dll не было, от того и возникала ошибка. Линковка с qlua.dll не вызывает таких проблем, т.к. эта библиотека на момент загрузки pb.dll уже загружена терминалом.
Линковать лучше с прокси-библиотекой Lua (`qlua.dll`), которая поставляется в коробке с QUIK. Не уверен, что если слинковаться с DLL из, например, Lua for Windows, или с той, что поставляется с LuaRocks, то всё будет работать. Линковка с прокси-библиотекой lua5.1.dll, которая находится в корне QUIK, технически осуществима, но на деле при запуске скрипта происходит ошибка из-за того, что pd.dll вызовет загрузку lua5.1.dll, которая не загружается по умолчанию, и чтобы её загрузить, загрузчик начнёт рыться в системных путях. У меня в системных путях никакой lua5.1.dll не было, от того и возникала ошибка. Линковка с qlua.dll не вызывает таких проблем, т.к. эта библиотека на момент загрузки pb.dll уже загружена терминалом.

#### Установка в Lua-интерпретатор
В сущности, нужно проделать два шага:
Expand Down

0 comments on commit 141993b

Please sign in to comment.