Когда вы публикуете интерфейс, clibgen.generateLibraryDefinition
функция вставляет комментарии заголовочного файла C++ и другой текст по умолчанию о классах и функциях. doc
функционируйте отображает этот текст пользователю. Можно отключить вставку комментариев C++ или изменить текст путем редактирования файла определения библиотеки.
Примечание
Если вы уже загрузили clib
пакет, например, путем вызова doc
или вызывая конструктора класса, затем необходимо перезапустить MATLAB®, чтобы изменить интерфейс.
Если эти общедоступные построения содержат комментарии C++, то MATLAB добавляет комментарии к описаниям MATLAB по умолчанию.
Функции и аргументы
Функции членства и аргументы
Классы и структуры
Элементы данных
Перечисления и enumerants
MATLAB читает стиль Doxygen, комментарии C++, но не является синтаксическим анализатором Doxygen. Например, процессы MATLAB Doxygen @brief
и @details
команды, чтобы добавить содержимое в класс или функциональное описание. MATLAB читает @param
и @return
команды, чтобы увеличить описания аргумента. MATLAB использует содержимое @code
команды, чтобы обеспечить примеры кода. В рамках любой команды Doxygen MATLAB игнорирует теги форматирования. Например, синтаксический анализатор Doxygen отображает word
как показано в этом теге <b>word</b>
полужирным шрифт. MATLAB просто включает текст <b>word</b>
в справке. MATLAB не отображает теги HTML <code>
, </code>
, <p>
, </p>
, и <br>
.
По умолчанию MATLAB копирует комментарии C++ с заголовка библиотеки и исходных файлов в Description
и, при наличии, DetailedDescription
аргументы для этих методов. Перечисления опционально имеют EnumerantDescriptions
аргументы. Можно рассмотреть и отредактировать содержимое с помощью .mlx
файл определения библиотеки.
Description
, DetailedDescription
, и EnumerantDescriptions
аргументы принимают значения строки. Можно вручную обновить текст в этих значениях. Например, в .hpp
может быть больше содержимого файл, чем MATLAB включает по умолчанию. Или вы можете хотеть включать примеры кода для своего варианта использования.
Если вы не хотите копировать комментарии C++ с заголовка и исходных файлов, то вызовите clibgen.generateLibraryDefinition
с набором аргумента 'GenerateDocumentationFromHeaderFiles' к false
. Можно все еще ввести текст в Description
аргумент в файле определения.
Этот пример использует встроенный интерфейс, Публикуют Интерфейс к Библиотеке C++ Только для заголовка. Для другого примеры смотрите, Изменяют Справку Библиотеки.
Если вы создали интерфейс, перемещение к папке с defineschool.mlx
файл и school
папка с интерфейсной библиотекой. В качестве альтернативы создайте интерфейс:
copyfile(fullfile(matlabroot,'extern','examples','cpp_interface','school.hpp'),'.','f') clibgen.generateLibraryDefinition('school.hpp') build(defineschool) addpath("school") summary(defineschool)
Текст справки по умолчанию для класса Person
Representation of C++ class Person
. Чтобы отобразить справку, введите:
doc clib.school
Classes contained in clib.school: Person - clib.school.Person Representation of C++ class Person Teacher - clib.school.Teacher Representation of C++ class Teacher Student - clib.school.Student Representation of C++ class Student
Чтобы изменить этот текст, отредактируйте defineschool.mlx
. Ищите текст Representation of C++ class Person
.
Измените "Description"
значение. Изменение:
"clib.school.Person Representation of C++ class Person."
к:
"clib.school.Person Class defined by name and age."
Сохраните файл.
Чтобы восстановить библиотеку, перезапустите MATLAB. Перейдите к папке, содержащей defineschool.mlx
. Удалите существующий интерфейсный файл.
delete school\*.dll
Создайте интерфейс и обновите путь.
build(defineschool)
addpath school
Отобразите обновленную справку.
doc clib.school
Classes contained in clib.school: Person - clib.school.Person Class defined by name and age Teacher - clib.school.Teacher Representation of C++ class Teacher Student - clib.school.Student Representation of C++ class Student
Пример, описанный в, Изменяет Справку Библиотеки, показывает сгенерированную справку для XMLPlatformUtils.Initialize
метод в библиотеке синтаксического анализатора Apache™ Xerces-C ++ XML. Это содержимое прибывает из Apache проект Xerces, https://xerces.apache.org, и лицензируется в соответствии с лицензией Apache 2.0, https://www.apache.org/licenses/LICENSE-2.0.
MATLAB использует комментарии C++ в PlatformUtils.hpp
файл.
/** @name Initialization and Panic methods */ //@{ /** Perform per-process parser initialization * * Initialization <b>must</b> be called first in any client code. * * @param locale The locale to use for messages. * * The locale is set if the Initialize() is invoked for the very first time, * to ensure that each and every message loader, in the process space, share * the same locale. * * All subsequent invocations of Initialize(), with a different locale, have * no effect on the message loaders, either instantiated, or to be instantiated. * * To set to a different locale, client application needs to Terminate() (or * multiple Terminate() in the case where multiple Initialize() have been invoked * before), followed by Initialize(new_locale). * * The default locale is "en_US". * * @param nlsHome User specified location where MsgLoader retrieves error message files. * the discussion above with regard to locale, applies to nlsHome as well. * * @param panicHandler Application's panic handler, application owns this handler. * Application shall make sure that the plugged panic handler persists * through the call to XMLPlatformUtils::Terminate(). * * @param memoryManager Plugged-in memory manager which is owned by the * application. Applications must make sure that the * plugged-in memory manager persist through the call to * XMLPlatformUtils::Terminate() */ static void Initialize(const char* const locale = XMLUni::fgXercescDefaultLocale , const char* const nlsHome = 0 , PanicHandler* const panicHandler = 0 , MemoryManager* const memoryManager = 0);
После создания интерфейса в примере отобразите справку MATLAB для Initialize
метод.
help clib.MyXercesLibrary.xercesc_3_1.XMLPlatformUtils.Initialize
clib.MyXercesLibrary.xercesc_3_1.XMLPlatformUtils.Initialize Method of C++ class xercesc_3_1::XMLPlatformUtils. Perform per-process parser initialization This content is from the external library documentation. Initialization <b>must</b> be called first in any client code. Inputs locale read-only string locale The locale to use for messages. nlsHome read-only string nlsHome User specified location where MsgLoader retrieves error message files. the discussion above with regard to locale, applies to nlsHome as well. panicHandler clib.MyXercesLibrary.xercesc_3_1.PanicHandler panicHandler Application's panic handler, application owns this handler. Application shall make sure that the plugged panic handler persists through the call to XMLPlatformUtils::Terminate(). memoryManager clib.MyXercesLibrary.xercesc_3_1.MemoryManager memoryManager Plugged-in memory manager which is owned by the application. Applications must make sure that the plugged-in memory manager persist through the call to XMLPlatformUtils::Terminate() No outputs
build
| clibgen.generateLibraryDefinition