У меня есть функция write в C ++, которая вызывает некоторые функции из старой библиотеки. Эта функция создает некоторую память, совершает звонки и уничтожает память. Чтобы оптимизировать это, я создал бы объект, который сохранял бы выделенную память, пока объект не был уничтожен. Однако я собираюсь вызывать эту функцию из C # и не верю, что могу экспортировать класс, только функции или переменные.
Моя идея вместо этого; Думайте о DLL как о классе и используйте локальные переменные внутри области dll, чтобы указывать на память. Затем создайте функцию для создания памяти, вызовите рабочие функции, а другую - для уничтожения памяти, когда закончите работу с DLL.
Это хороший подход? Есть ли лучший способ?