Сгенерируйте код MATLAB с фиксированной точкой для нескольких функций точки входа

Когда ваша конечная цель состоит в том, чтобы сгенерировать функции библиотеки C/C + + с фиксированной точкой, сгенерировать одну библиотеку C/C + + для более чем одной точки входа MATLAB® функция позволяет вам:

  • Создайте библиотеки C/C + +, содержащие несколько скомпилированных файлов MATLAB для интеграции с большими приложениями C/C + +. Для генерации кода C/C + + требуется лицензия MATLAB Coder™.

  • Эффективно обменивайтесь кодом между функциями библиотеки.

  • Связь между функциями библиотеки с помощью общей памяти.

Примечание

Если какая-либо из функций точки входа в общей памяти проекта (для примера, постоянных данных), произойдет ошибка. В этом случае следует переписать код, чтобы избежать вызова функций с постоянными данными из нескольких точек входа.

Пример 1. Преобразуйте две функции точки входа в фиксированную точку с помощью приложения Fixed-Point Converter

В этом примере вы преобразуете две функции точки входа, ep1 и ep2, в фиксированную точку.

  1. В локальной папке с возможностью записи создайте функции ep1.m и ep2.m.

    function y = ep1(u) %#codegen
    y = u;
    end
    function y = ep2(u, v) %#codegen
    y = u + v;
    end

  2. В той же папке создайте тестовый файл, ep_tb.m, который вызывает обе функции.

    % test file for ep1 and ep2
    u = 1:100;
    v = 5:104;
    z = ep1(u);
    y = ep2(v,z);
    

  3. Из галереи Apps откройте приложение Fixed-Point Converter.

  4. Чтобы добавить первую функцию точки входа, ep1, к проекту, на странице Select Source Files, перейдите к ep1 файл и нажатие кнопки Open.

    По умолчанию приложение использует имя первой функции точки входа в качестве имени проекта.

  5. Нажмите Add Entry-Point Function и добавьте вторую функцию точки входа, ep2. Нажмите Next.

  6. На странице Define Input Types введите тестовый файл, который реализует две ваши функции точки входа. Обзор, чтобы выбрать ep_tb файл. Нажмите Autodefine Input Types.

  7. Нажмите Next. Приложение генерирует инструментальную MEX-функцию для вашей функции MATLAB точки входа. На странице Convert to Fixed-Point щелкните Simulate, чтобы симулировать функции точки входа, собрать информацию о области значений и получить предложенные типы данных.

  8. Нажмите Convert.

    Функции точки входа ep1 и ep2 преобразуйте в фиксированную точку. На панели Output Files перечислены сгенерированные файлы с фиксированной точкой и файлы оболочки для обеих функций точки входа.

  9. Нажмите Next. Страница Finish Workflow содержит сводные данные по проекту. Сгенерированный отчет о преобразовании фиксированных точек содержит отчеты для обеих функций точки входа. Приложение хранит сгенерированные файлы в подпапке codegen/ep1/fixpt.