Пытаюсь в моей dll применить код на Си
всё хорошо, но в Луа 5.1. нет функции luaL_len. Она появилась в более поздних версиях.
Вот код этой функции в Луа 5.3.


Как мне это внедрить в свою dll?
Как дописать строку в lauxlib.h - это понятно. А вот файла lauxlib.c в моей Луа 5.1.5 вообще нет.
| Код |
|---|
static int forLua_SumArray (lua_State* L) { // Get the length of the table (same as # operator in Lua)
int n = luaL_len(L, 1);
double sum = 0.0;
// For each index from 1 to n, get the table value as a number and add to sum
for (int i = 1; i <= n; ++i) {
lua_rawgeti(L, 1, i);
sum += lua_tonumber(L, -1);
lua_pop(L, 1);
}
lua_pushnumber(L, sum);
return 1;
} |
Вот код этой функции в Луа 5.3.


Как мне это внедрить в свою dll?
Как дописать строку в lauxlib.h - это понятно. А вот файла lauxlib.c в моей Луа 5.1.5 вообще нет.