Ограничения к Поддержке C/C++

Можно создать интерфейс MATLAB® к разделяемым библиотекам на основе C++ 98 и обычно происходящего C++ 11 функций. Однако, если библиотека содержит следующие типы данных или функции языка, то функциональность не включена в интерфейс MATLAB к библиотеке.

Типы данных и функции языка, исключенные из интерфейса

Если библиотека содержит следующие типы данных или функции языка, то функциональность не включена в интерфейс MATLAB к библиотеке.

Когда вы создаете библиотеку, содержащую эти функции, сообщения отображений MATLAB как:

Did not add member 'methodName' to class 'ClassName' at HeaderFile.h:290.
  'wchar_t' is not a supported type.

Чтобы просмотреть эти сообщения, используйте 'Verbose' опция в clibgen.generateLibraryDefinition или clibgen.buildInterface функции.

Пропущенные типы данных

  • wchar_t

  • char16_t

  • char32_t

  • Любой тип с размером, больше, чем 64 бита, например, long double

  • void *

  • union

  • Указатели или массивы std::string

  • Указатели или ссылки на перечисления

  • Указатель, массив и участники справочных данных

  • Статические элементы данных

  • Многоуровневые указатели, такие как type** и type***

  • Указатель функции

  • Шаблоны классов с неполным или никакими инстанцированиями

Функции языка, обнаруженные и пропущенные

  • move конструктор

  • Перегруженные функции оператора

  • Пространства имен без имени и классы

  • Макро-константы

  • Глобальные переменные

  • Функции Variadic

  • Шаблоны функций с неполным или никакими инстанцированиями

Функции языка, не поддерживавшие

Когда вы создаете библиотеку, содержащую эти функции, отображения MATLAB:

Warning: Some C++ language constructs in the header file are not supported and not imported.
  • Передача и возврат текста Unicode® с C++

  • Создание объектов классов в std пространство имен, включая пользовательские классы

  • Псевдонимы пространства имен. Используйте исходное имя пространства имен вместо этого.

Неподдерживаемое использование

  • Передача nullptr к функциям C++ или элементам данных

  • Определенные методы класса, которые имеют имена MATLAB, не поддержаны. Этими методами является eq, ne&lt&gt, le, и ge.

Похожие темы