<< Библиотеки Библиотеки get_function_path >>

Scilab Help >> Функции > Библиотеки > genlib

genlib

строит библиотеку из набора *.sci-файлов, определяющих функции в указанной директории

Синтаксис

genlib(lib_name)
genlib(lib_name, dir_name)
genlib(lib_name, dir_name, Force)
genlib(lib_name, dir_name, Force, verb)
genlib(lib_name [,path=dir_name] [,verbose=verb] [,force=Force])

Аргументы

lib_name
Scilab-строка: идентифицирующее имя присваиваемое библиотеку, которую нужно построить.

dir_name
Scilab-строка: путь к директории, содержащей файлы .sci-функций, и где генерируется файл lib и определяющая, где будет храниться библиотека. По умолчанию рассматривается текущая рабочая директория.
Директория dir_name directory и её lib- и .bin-файлы должны иметь право на запись.

Force
логическое значение (значение по умолчанию %f). Установите его в %t, чтобы принудить к рекомпиляции sci-файлов.

verb
логическое значение (значение по умолчанию %f). Установите его в %t, чтобы отобразить больше информации во время сборки.

Описание

genlib(..) выбирает все файлы, принадлежащие директории dir_name и с расширением .sci. Поддиректории, если они есть, никогда не рассматриваются. Если требуется, они должны компилироваться отдельно в независимые библиотеки.

Затем создаётся редактируемый XML-файл lib в директории dir_name. Имя lib_name библиотеки записывается в него.

Далее, для каждого .sci-файла:

Наконец, genlib(..) загружает созданную или обновлённую библиотеку и устанавливает её идентификатор в переменную, названную lib_name, в текущей области просмотра. Если переменная lib_name уже существует и защищена,то возникает ошибка: библиотека была создана, но не может быть загружена (predef all может использоваться для снятия защиты с переменной, названной lib_name перед запуском genlib(..)).

Если используется опция force=%t, то все .sci-файлы компилируются, даже если их содержимое не было изменено.

Когда из директории библиотеки некоторые старые .sci-файлы были удалены и при этом оставшиеся .sci-файлы остались неизменными, то пересборка библиотеки без force=%t в любом случае обновит список членов библиотеки.

Если включена опция verbose, то во время сборки отображается больше информации.

Смотрите также

История

VersionDescription
6.0.0
  • Больше не требуется файл names. Опция Names удалена.
  • Если .sci-файл содержит функции, названные не в соответствии с именем файла, то они теперь не являются публичными: их можно увидеть и вызвать только из главной функции.
  • Если библиотека с именем lib_name уже загружена, то директорией по умолчанию dir_name теперь является не её директория (режим обновления), а текущая рабочая директория.
  • Сгенерированный lib-файл теперь является XML-файлом, который может прочитать человек, а не двоичный файл.
  • genlib() теперь не может записать какую-либо переменную в качестве полноправного члена библиотеки.
  • По умолчанию любой .sci-файл теперь перекомпилируется, если его содержимое было изменено, а не, если дата его изменения новее, чем дата .bin-файла.
  • Генерируемые .bin-файлы более не могут быть загружены независимо с помощью load().

Report an issue
<< Библиотеки Библиотеки get_function_path >>