Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
11 / 10 / 2
Регистрация: 19.02.2018
Сообщений: 390
1

Как передать указатель на целое число в lua api c++

24.01.2019, 08:40. Показов 1054. Ответов 0
Метки c++, lua (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, всем.
Как передать указатель на целое число в lua api c++? Отправлю в стек указатель на число int. В другой функции не могу его правильно получить.

Помогите, пожалуйста, советом.
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
#include<iostream>
#include<string>
#include"include/lua.hpp"
 
using namespace std;
 
int create(lua_State* L) {//Функция создания объекта структуры.
    int s = 10;//значение переменной по умолчанию.
    int *a = &s;// указатель на переменную.
 
    void* b = lua_newuserdata(L, sizeof(a));/*Эта функция выделяет новый блок памяти с заданным размером,*/
    //new (int) b;// Выделить память под польз. данные.
    luaL_getmetatable(L, "mt"); /* отправляет в стек метатаблицу значения при заданном приемлемом индексе.*/
    lua_setmetatable(L, 1);//получает таблицу из стека и уст ее в качестве новой метатаблицы для значения с заданным допустимым индексом.
    return 1;
};
 
int show(lua_State* L) {
    int* st = (int*)lua_touserdata(L, -1);// получаем польз. данные.
    cout << *st << endl;
    return 0;
};
 
int main() {
    lua_State* L = luaL_newstate();
    lua_newtable(L);
    lua_pushcfunction(L, create);//уст указатель на функцию C++ и создает внутри Lua
    lua_setglobal(L, "get"); //получает значение из стека и уст значение global name.
    lua_pushcfunction(L, show);
    lua_setglobal(L, "show"); //получает значение из стека и уст значение global name.
    luaL_newmetatable(L, "mt");/*int luaL_newmetatable (lua_State * L, const char * t); */
    lua_settable(L, 2);
    luaL_dofile(L, "main.lua");// Загружает и запускает заданный файл. файл в которым все происходит.
    lua_close(L);// закрыть состояние
    cin.get();//ожидает ввода символа программа завершается.
    return 0;
}
a= get()
show(a)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.01.2019, 08:40
Ответы с готовыми решениями:

Написать объявление функции, возвращающую целое число и принимающую указатель на целое число
объявите функцию f2, возвращающую результат целого типа и передающую указатель на переменную а...

Создать класс, содержащий символ, вещественное число и указатель на целое число
Создать класс: Данные класса- символ, вещественное число, указатель на целое число. Методы класса-...

Передать в функцию целое число. Функция заменяет его на ближайшее простое число, которое больше или меньше исходного. Вернуться в main( ) и распечатат
Передать в функцию целое число. Функция заменяет его на ближайшее простое число, которое больше или...

Как передать целое число из диалогового окна?
Python 2.7.5, PyQt4. Перед запуском главного окна программы вызывается окошко авторизации...

0
24.01.2019, 08:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.01.2019, 08:40
Помогаю со студенческими работами здесь

Lua api c++ получения указателя на число и его изменения
lua api c++ получения указателя на число и его изменения. Есть функция на lua, которая...

Передать два параметра-целое число и дату,получить дд.мм.гг
7.bat передать два параметра-целое число и дату,получить дд.мм.гг отфильтровать по времени...

Скажите, пожалуйста, как правильно реализовать работу методов класса в lua api c++
вот самая простая структура. как вызвать ее конструктор и метод в lua. Подскажите, пожалуйста. ...

Организовать ввод в однонаправленный список. Узел списка состоит из двух полей: целое число и указатель. Не
Организовать ввод в однонаправленный список. Узел списка состоит из двух полей: целое число и...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru