Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
45 / 44 / 1
Регистрация: 11.07.2012
Сообщений: 1,024

Как в visual studio 15 написать самый простой код на LUA

03.10.2017, 09:00. Показов 2580. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хочу написать самый простой код на LUA в VS. Для этого взял готовый пример из книжки, в одну строку. И создал в visual studio Community 2015 простое консольное приложение Win 32. Сгенирировался код, добавил туда заголовочные файлы из пакета lua This is Lua 5.3.4, released on 12 Jan 2017. и получился общий код, но работать он не хочет, не подскажете в чем ошибка? вот картинка с кодом и сам код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
// lua7.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <lualib.h>
#include <lauxlib.h>
#include <lua.h>
 
int main()
{
    % lua hello.lua;
    return 0;
}
на заголовочные файлы программа не ругается, я в VS в свойствах добавил путь на каталог с заголовочными файлами, но и про код пишет, что у
C++
1
%
должно быть какое то выражение. Что тут не так?
Миниатюры
Как в visual studio 15 написать самый простой код на LUA  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.10.2017, 09:00
Ответы с готовыми решениями:

Как встроить LUA в visual studio
Вопрос в название темы. Я скачал LUA последнюю версию, там куча файлов с расширением .c и .h искал в интернете везде написано...

WTF не работает простой код на Visual studio 2008(баг?)
Взял код из википедии. ...

Как написать самый простой драйвер клавиатуры?
Хочу написать самый простой драйвер клавиатуры, по аппаратному прерыванию, что бы например при нажатии любой произвольной кнопки на экран...

9
Модератор
Эксперт С++
 Аватар для zss
13766 / 10960 / 6490
Регистрация: 18.12.2011
Сообщений: 29,233
03.10.2017, 09:23
что-то я не вижу в примерах никакого процента
всегда что-то типа
C++
1
2
3
4
5
6
 int main()
{
  lua_State *state = luaL_newstate();
  lua_close(state);
  return 0;
}
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
extern "C" {
    #include "lua.h"
    #include "lauxlib.h"
    #include "lualib.h"
}
 
#include "stdio.h"
 
//new custom hello method
int hello(lua_State * L){
    printf("C++ says: Hello World\n");
 
    return 1;
}
 
int main(int argc, char ** argv){
 
    //iterate all files and execute
    for(int n=1; n<argc; n++){
        const char * file = argv[n];
 
        //create a new lua state
        lua_State * L = luaL_newstate();
 
        //open all libraries
        luaL_openlibs(L);
 
        //register new custom method
        lua_register(L, "hello", hello);
 
        int s = luaL_loadfile(L, file);
 
        if(!s)
            s = lua_pcall(L, 0, LUA_MULTRET, 0);
 
        //show any errors
        if(s){
            printf("Error: %s \n", lua_tostring(L, -1));
            lua_pop(L, 1);
        }
 
        lua_close(L);
    }
 
    return 0;
}
1
45 / 44 / 1
Регистрация: 11.07.2012
Сообщений: 1,024
03.10.2017, 09:25  [ТС]
А мы с вами смотрим одинаковые примеры? Вот мой, а вы где смотрите? Спасибо , посмотрю.
Миниатюры
Как в visual studio 15 написать самый простой код на LUA  
0
Модератор
Эксперт С++
 Аватар для zss
13766 / 10960 / 6490
Регистрация: 18.12.2011
Сообщений: 29,233
03.10.2017, 09:34
Ваш пример к С++ не имеет никакого отношения.
Вы должны написать файл hello.lua на языке LUA,
а чтобы его запустить из с++ придется написать такое
C++
1
2
3
4
5
6
7
8
9
10
#include "lua.h"
#include "lauxlib.h"
 
int main() {
    lua_State *L = lua_open(); // создаем виртуальную машину Lua
    luaL_openlibs(L); // загружаем стандартные библиотеку
    luaL_dofile(L, "hello.lua"); // выполняем скрипт
    lua_close(L); // закрываем Lua
    return 0;
}
1
45 / 44 / 1
Регистрация: 11.07.2012
Сообщений: 1,024
03.10.2017, 09:49  [ТС]
К с++ он имеет самое прямое отношение, код пишется в среде разработки VS C++, но ваш пример оказался не рабоочий
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
#include <lualib.h>
#include <lauxlib.h>
#include <lua.h>
#include "c:\lui\lauxlib.h"
#include "c:\lui\lua.h"
 
 
int main()
{
    
        lua_State *L = lua_open(); // создаем виртуальную машину Lua
        luaL_openlibs(L); // загружаем стандартные библиотеку
        luaL_dofile(L, "hello.lua"); // выполняем скрипт
        lua_close(L); // закрываем Lua
        return 0;
    
    
    return 0;
}
Вот эту функцию (lua_open()) С++ не понимает, на остальное вроде пока не ругается.
0
Модератор
Эксперт С++
 Аватар для zss
13766 / 10960 / 6490
Регистрация: 18.12.2011
Сообщений: 29,233
03.10.2017, 10:35
См. в других примерах используется luaL_newstate(); вместо lua_open();
Я от Вас первый раз в жизни услышал про этот язык.
Так что, ничего более подробно сказать не смогу.
Все что я привел - это благодаря Яндексу.
1
45 / 44 / 1
Регистрация: 11.07.2012
Сообщений: 1,024
03.10.2017, 10:55  [ТС]
Спасибо конечно, и лично вам я благодарен, но код не идет, подождем еще кого нибудь, третий на форуме не лишний, вдруг кто нибудь полезный и знающий случайно заглянет в тему. Вот нашел тоже код, пишут что рабочий, а не идет.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
extern "C"
{
#include <lua.h>
}
 
int main()
{
    lua_State* luaVM = lua_open(0);
 
    if (NULL == luaVM)
    {
        printf("Error Initializing luan");
        return -1;
    }
    lua_close(luaVM);
    return 0;
}
Code
1
http://club.shelek.ru/viewart.php?id=77
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
03.10.2017, 16:35
Цитата Сообщение от седьмой Посмотреть сообщение
К с++ он имеет самое прямое отношение, код пишется в среде разработки VS C++
бред.
0
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
03.10.2017, 18:11
седьмой, привет! Изобретаешь очередной велосипед ?!
1
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
03.10.2017, 18:18
Цитата Сообщение от седьмой Посмотреть сообщение
А мы с вами смотрим одинаковые примеры? Вот мой, а вы где смотрите? Спасибо , посмотрю.
там в книге не код, а строчка для запуска скрипта из терминала. Если хочется пописАть на Lua, то пиши на Lua и запускай в Lua интерпретаторе (как в книге), С++ для этого не нужен.

Добавлено через 1 минуту
Цитата Сообщение от седьмой Посмотреть сообщение
Вот нашел тоже код, пишут что рабочий, а не идет.
что значит "не идет"? за пивом не ходит?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.10.2017, 18:18
Помогаю со студенческими работами здесь

Использование редактора Microsoft Visual Studio Code, или первый редактор Lua
Всем привет, и спасибо что перешли в мою тему. Я недавно загорелся желанием изучить, Lua. Собственно у меня возникла проблема, я не смог...

Как адаптировать код WMI под код Visual Studio 2010?
Доброе время суток всем. Подскажите пожалуйста для новичка, что бы можно было разобраться, как адаптировать код wmi под код visual studio...

Написать клиент-сервер (самый простой)
Всем доброго времени суток ! Я поставил себе задачу написать клиент-сервер (самый простой) , почитал литературу , смотрел исходники , но...

Написать самый простой мини-чат
Всем првиет! У меня есть задача: написать самый простой мини-чат! Я даже не понимаю как он работает и даже не знаю с чего начать! Я...

Захотел написать самый простой калькулятор
Решил написать самый простой калькулятор, все вроде и работает, но проблемы с делением, можете помочь, как так же просто сделать деление? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru