Импорт DLL на C++ в проект на C#. Возвратить массив символов
Формулировка задачи:
Доброго времени суток.
Появилась нужда написать динамическую библиотеку с набором функций для последующего прикручивания к проекту на C#. Одна из экспортируемых функций должна возвращать массив символов (или строку).
Из-за нехватки знаний и опыта подобная задача совершенно мне не по силам.
Файл либы:
Файл проекта:
В данном случае str ничего не присваивается.
Перепробовал кучу способов, но безрезультатно.
extern "C" __declspec(dllexport) char* __cdecl getData()
{
char *data;
...
return data;
}[DllImport(
@".../DllLibrary.dll",
EntryPoint = "SegmentRectangle",
CharSet = CharSet.Ansi,
CallingConvention = CallingConvention.Cdecl
)]
static extern string getData();
static void Main(string[] args)
{
string str = getData();
Console.WriteLine(str);
}Решение задачи: «Импорт DLL на C++ в проект на C#. Возвратить массив символов»
textual
Листинг программы
extern "C" __declspec(dllexport) char* __cdecl SegmentRectangle()
{
return "segment into rectangle";
}