Передайте целочисленный указатель из С++ в Python после привязки pybindingC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Гость
 Передайте целочисленный указатель из С++ в Python после привязки pybinding

Сообщение Гость »


У меня есть функция cpp, которая регистрирует функцию Python в одной из своих частных переменных.

В cpp у меня есть две функции: register_callback и callCallback. register_callback примет функцию в качестве аргумента (эта функция будет передана из Python, а функция Python примет в качестве аргумента массив).

callCallback вызовет зарегистрированную функцию Python. (callCallback определит в ней массив, и этот массив будет передан в качестве аргумента зарегистрированной функции Python)

Я использовал pybind, чтобы получить эти функции cpp в Python. Итак, после регистрации функции Python в cpp с использованием функции register_callback, когда я вызываю функцию callCallback из кода Python, я получаю не весь массив, а только первый элемент в массиве. .(Тип полученных данных — целое число, а не массив) Как я могу получить весь массив, переданный из Python-кода cpp.

Если кто-то знает решение, пожалуйста, помогите мне с этим. Спасибо.

Я пытался использовать ctypes в Python, чтобы получить адрес переданного аргумента. Но не сработало.

код:

cpp(main.h):

#ifndef CALLBACK_MANAGER_H #define CALLBACK_MANAGER_H #include #include #include класс callbackManager { публика: void RegisterCallback(std::function обратный вызов); недействительный вызовCallback(); частный: std::function callback_; }; #endif cpp(main.cpp):

#include #include #include "main.h" #include пространство имен py = pybind11; void callbackManager::registerCallback(std::function обратный вызов) { std::cout
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»