код функции. Эта функция вызывается
Функция объявления добавляется в исходный “C” код функции. Эта функция вызывается только один раз, когда приложение стартует и сообщает менеджеру В/В имя, которое соответствует реализованной функции. Вот стандартный формат такой функции объявления:
UFP uspdef_xxx (char *name)
{
strcpy (name, "XXX"); /* gives the name of the function */
return (USP_xxx); /* returns the implementation function */
}
/* (
xxx is the name of the function) */
Имя функции, использующееся оператором
strcpy, должно быть написано заглавными буквами. Оно должно быть написано маленькими буквами в реализации функции и в имени функции объявления. Использование префиксов
”USP_” и
“uspdef_” для реализации функции и определения функции позволяет пользователю именовать функции ключевыми словами языка “C” или именами существующих функций из “C” библиотек ISaGRAF.
В функцию объявления могут быть добавлены другие операторы для того, чтобы реализовать специфические операции инициализации связанные с этой функцией. Система ISaGRAF гарантирует, что эта функция вызывается только
однажды при запуске приложения. Функция объявления вызывается для любой интегрированной функции, даже если она не используется в приложении ISaGRAF. Ядро ISaGRAF выдает ошибку, если в приложении используется не реализованная функция.
Прежде чем линковать новые функции с ядром, пользователь должен написать другой файл с исходным текстом, под именем
“GRUS0LIB.C” и вставить его с сохраненной функцией в список файлов для линкера.
“GRUS0LIB.C” содержит только массив функций объявления. Этот массив читается во время инициализации приложения, для того чтобы создать динамические связи с функциями написанными на “C”. Вот пример такого файла:
/* Файл "GRUS0LIB.c" - Пример using trigonometric functions */
#include <tasy0def.h> /* required for types definition */
extern UFP uspdef_fc1 (char *name); /* declaration functions */
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий