Если вы хотите require("socket.core")
, общая библиотека (dll) должна иметь экспортированную функцию luaopen_socket_core (которая есть в библиотеке LuaSocket). Таким образом, его всегда нужно называть require("socket.core")
.
Если вы хотите переместить DLL в другую папку, вам нужно изменить package.cpath
, которая содержит шаблоны файлов, которые будут проверяться.
Допустим, вы хотите переместить двоичный файл LuaSocket в folder
. Вы должны поместить двоичный файл в folder/socket/core.dll
и изменить package.cpath
до вызова require
:
package.cpath = package.cpath .. ';folder/?.dll'
local socket = require('socket.core')
?
представляет имя, переданное require
, переведенное в пути к файлам: . -> /
, т.е. socket.core -> socket/core
.