Доброго времени суток,
возник небольшой вопрос при написании программы на C# (VS2005)
цель (начальная):
написать программу на C#, которая подгружает библиотеку на C++
и они используют структуры и классы для передачи данных
проблема:
в языках объекты представляются по-разному и так просто передать из программы в dll и обратно экземпляр класса или структуры достаточно сложно (но возможно)
мысли в сторону решения:
в
локальном мсдн нашел решение такого типа:
для шарпа:
[StructLayout(LayoutKind.Explicit)]
public struct Rect
{
[FieldOffset(0)] public int left;
[FieldOffset(4)] public int top;
[FieldOffset(8)] public int right;
[FieldOffset(12)] public int bottom;
}
для ++:
[StructLayout(LayoutKind::Explicit)]
value struct Rect
{
public:
[FieldOffset(0)]int left;
[FieldOffset(4)]int top;
[FieldOffset(8)]int right;
[FieldOffset(12)]int bottom;
};
а теперь вопрос:
как и каким образом все это совместить в программе на C# и dll на C++?
если у кого-нибудь есть немного времени, то прошу написать простенький пример реализации такого способа передачи данных через структуру и (или) класс
заранее спасибо