Сгенерируйте фиксированную точку код 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.