Импорт DLL на C++ в проект на C#. Возвратить массив символов

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Появилась нужда написать динамическую библиотеку с набором функций для последующего прикручивания к проекту на C#. Одна из экспортируемых функций должна возвращать массив символов (или строку). Из-за нехватки знаний и опыта подобная задача совершенно мне не по силам. Файл либы:
Листинг программы
  1. extern "C" __declspec(dllexport) char* __cdecl getData()
  2. {
  3. char *data;
  4. ...
  5. return data;
  6. }
Файл проекта:
Листинг программы
  1. [DllImport(
  2. @".../DllLibrary.dll",
  3. EntryPoint = "SegmentRectangle",
  4. CharSet = CharSet.Ansi,
  5. CallingConvention = CallingConvention.Cdecl
  6. )]
  7. static extern string getData();
  8. static void Main(string[] args)
  9. {
  10. string str = getData();
  11. Console.WriteLine(str);
  12. }
В данном случае str ничего не присваивается. Перепробовал кучу способов, но безрезультатно.

Решение задачи: «Импорт DLL на C++ в проект на C#. Возвратить массив символов»

textual
Листинг программы
  1.  extern "C" __declspec(dllexport) char*  __cdecl SegmentRectangle()
  2. {
  3.     return "segment into rectangle";
  4. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.75 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут