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