Есть массив данных, набор чисел, созданных в файле dll на c++ класса vector. Эти значения нужно передать в python файл для дальнейших с ними манипуляций. Как это сделать не могу понять. В коде, я вроде, передаю вектор в питоновский файл, но питон не может понять что я ему такое передал. Читал, что вроде как можно как-то сделать использую конвертацию vector в numpy, но не понял как это сделать. И, вроде как можно этого добиться, используя boost библиотеку, но тоже не совсем понятно. Подскажите, пожалуйста, как и что нужно написать, сделать, чтобы всё заработало?
Код Python
from ctypes import *
from math import *
Link2 = CDLL(r'./Link2.dll')
class outdata2(Structure):
_fields_ = ["x", class?] //Вот тут ничего не написано, т.к. нет такого как c_vector,
//поэтому я и не знаю как это и на что заменить, чтобы вектор вывести.
//Такой структурой я выводил float и другие значения, но не массивы.
data2 = outdata2()
Link2.Some2(
byref(data2))
Header.h самой dll
#pragma pack (4)
#include <vector>
typedef struct outdata2
{
std::vector <float> out_x;
};
extern "C" __declspec(dllexport) void Some2(outdata2*);
Dll
#define _USE_MATH_DEFINES
#include <iostream>
#include <math.h>
#include <fstream>
#include <vector>
#include "..\SpiralsCoord\Header.h"
__declspec(dllexport) void Some2(outdata2* data2)
{
setlocale(LC_ALL, "Russian");
//код, содержащий вектора x1, x2
data2->out_x.assign(x1.begin(), x2.end());
}