функция readEnumФункция readEnum в библиотеке shrlibsample отображает строку, которая совпадает с входным параметром.
EXPORTED_FUNCTION char* readEnum(TEnum1 val)
{
static char outputs[][20] = {
{"You chose en1"},
{"You chose en2"},
{"You chose en4"},
{"enum not defined"},
{"ERROR"} };
switch (val) {
case en1: return outputs[0];
case en2: return outputs[1];
case en4: return outputs[2];
default : return outputs[3];
}
return outputs[4];
}Функциональная подпись:
| Возвратите тип | Имя | Аргументы |
|---|---|---|
cstring | readEnum | (Enum1) |
Значения для входного параметра Enum1 заданы в заголовочном файле shrlibsample.h.
typedef enum Enum1 {en1 = 1, en2, en4 = 4} TEnum1;
Этот пример показывает, как передать перечислимые величины функции readEnum в библиотеке shrlibsample. Загрузите библиотеку.
if not(libisloaded('shrlibsample')) addpath(fullfile(matlabroot,'extern','examples','shrlib')) loadlibrary('shrlibsample') end
В MATLAB можно выразить перечислимый тип или как строку перечисления или как ее эквивалентное числовое значение. Вызовите readEnum с аргументом строки.
calllib('shrlibsample','readEnum','en4')
ans = 'You chose en4'
Вызовите readEnum с эквивалентным числовым аргументом. Определение Enum1 объявляет перечисление en4, равный 4.
calllib('shrlibsample','readEnum',4)
ans = 'You chose en4'