AR148
AR148 (Cawas Archiver for i80148) - менеджер статических библиотек. Упаковывает объектные файлы .o в архив .a, который потом читает LINK148.
| Параметр |
Значение |
| Версия |
0.1 |
| Целевая архитектура |
i80148 object files |
| Выход |
.a |
| Файл |
AR148.py |
Использование
# Создать или перезаписать архив
python AR148.py rcs libio.a putc.o getc.o serial.o
# Посмотреть содержимое
python AR148.py t libio.a
# Извлечь всё (или отдельные члены)
python AR148.py x libio.a
python AR148.py x libio.a putc.o
Команды
| Команда |
Описание |
rcs |
Создать или перезаписать архив |
t |
Показать содержимое |
x |
Извлечь члены (все или по имени) |
Формат архива
Версия 1:
| Поле |
Размер |
Описание |
| Magic |
4 B |
CWA\0 |
| Version |
4 B |
1 (big-endian) |
| Count |
4 B |
Число членов |
| Reserved |
4 B |
Выравнивание, нули |
| Member headers |
40 B × n |
Имя (32) + смещение (4) + размер (4) |
| Member data |
var |
Сырые данные объектных файлов |
- Имена членов - ASCII с NUL-дополнением, до 31 символа.
- Члены могут быть бинарными (
CWO\0) или JSON-объектами.
Пример
$ python AR148.py rcs libio.a putc.o getc.o serial.o
Created archive 'libio.a' with 3 member(s)
$ python AR148.py t libio.a
libio.a: 3 member(s)
0 putc.o offset= 136 size= 248
1 getc.o offset= 384 size= 312
2 serial.o offset= 696 size= 156
$ python AR148.py x libio.a putc.o
Extracted: putc.o (248 bytes)
Extracted 1 member(s)