exponenta event banner

clibRelease

Деблокирование объекта C++ из MATLAB

Синтаксис

Описание

пример

clibRelease(cppObj) освобождает объект C++ от MATLAB, делая его недоступным.

Примеры

свернуть все

Этот класс C++ имеет функции для создания и удаления Myclass объекты. Используйте clibRelease для управления памятью удаленных объектов.

Создание файла заголовка header.hpp с этими заявлениями.

class Myclass{};
Myclass* createMyclass() { return new Myclass(); }
void deleteMyclass(Myclass* myc) { delete myc; }

Создание интерфейса для Myclass.

clibgen.buildInterface('header.hpp','TreatObjectPointerAsScalar',true);
addpath("header")

Создать Myclass объект.

cppObj = clib.header.createMyclass
cppObj = 
  Myclass with no properties.

Позвоните в deleteMyclass функция. Myclass объект остается в рабочей области MATLAB ®.

clib.header.deleteMyclass(cppObj)
workspace

Звонить clibRelease для освобождения памяти.

clibRelease(cppObj);
cppObj
cppObj = 
  handle to deleted Myclass

Входные аргументы

свернуть все

Объект C++, созданный в MATLAB, указанный как дескриптор. После освобождения базовый объект C++ больше не доступен в MATLAB, и дескриптор MATLAB cppObj становится недействительным. Если объект снова возвращается из библиотеки, то MATLAB создает дескриптор.

Представлен в R2019a