You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Эта задача, не смотря на кажущуюся простоту, многоаспектная. Потребуется реализовать следующие возможности:
Формирование модулей типа R:
Поддержка опций --makelib и -R — формирование файла из RASL без префикса.
Загрузка при запуске:
Поддержка ключа --reference и комментариев //REFERENCE в утилите srmake-core.
Поддержка ключа --reference в srefc-core, запись блока REFERENCE в RASL.
Алгоритм поиска динамически загружаемых модулей в рантайме. Вероятно, потребуется некоторая переменная окружения, содержащая пути поиска по умолчанию.
С точки зрения загрузки RASL больших изменений не потребуется, поскольку выборочную выгрузку модуля делать не надо.
Загрузка во время выполнения:
Потребуется поддержка выгрузки модулей на уровне рантайма. Вероятное решение — счётчик ссылок для каждой функции для правильного освобождения памяти. Под эту схему, вероятнее всего, удастся подвести и замыкания, которые тоже станут дескрипторами функций.
Потребуется разработка и реализация API динамической загрузки. Тут образцом послужит API динамической загрузки POSIX.
The text was updated successfully, but these errors were encountered:
Что изменилось в srmake-core:
* Во-первых, понимаются все новые опции командной строки.
* Во-вторых, извлекаются из файлов ключи //PREFIX и //REFERENCE.
* В-третьих, правильным образом формируется командная строка для srefc-core
(который на данном этапе игнорирует новые опции).
Ссылки на задачи #89 и #90 добавлены, поскольку в них предполагалось
реализовать, соответственно, //PREFIX и //REFERENCE.
Эта задача — подзадача для #76.
Эта задача, не смотря на кажущуюся простоту, многоаспектная. Потребуется реализовать следующие возможности:
--makelib
и-R
— формирование файла из RASL без префикса.--reference
и комментариев//REFERENCE
в утилитеsrmake-core
.--reference
вsrefc-core
, запись блокаREFERENCE
в RASL.The text was updated successfully, but these errors were encountered: