Server for Information Technologies ������ ��������������
������� �������������� ����������
(095) 932-9212, 932-9213, 939-0783
E-mail: [email protected]
������ �������� ����(!) ������������� ���������� CIT Forum CD-ROM

AR(4)

��������
ar - ������ ��������� �����

���������

#include <ar.h>

��������
������� ar(1) ��������� ������� ��������� ������ � ���� �������� ����. ������ ������������ � �������� ��� ���������� �� ������ ������, ��������������� ���������� ������ ld(1).

������ ����� ���������� � ���������� ������� ������.

#define ARMAG "!<arch>\n" /* ���������� ������� */
#define SAMARG 8         /* ����� ���������� ������� */

����� �� ������ ������ �������� ������� [��.a.out(4)] �������� ������� ���� ������. ��� ������������ ���������� ������ ld(1) ��� ����������� ����, ����� �������� ������ ������ ���� �������� � �������������� ��������� ��� �������������� ������. ������� ���� ������ (���� ��� ����) ������ �������� ������ ������ ������, ������ �� ������������ ��� ������ ����������. ��� ������������� ����������� � �������������� �������� ar(1).

�� ���������� �������� ������ ������� ����� - �������� ������. ������ ������� ���������� � ��������� ���������� �������:

#define ARFMAG "`\n" /* ������������ ��������� */

struct ar_hdr {      /* ��������� �������� ������ */
  char ar_name [16]; /* ��� �������� (� ����� /) */
  char ar_date [12]; /* ���� ��������� ����������� */
  char ar_uid [6];   /* ������������� ��������� */
  char ar_gid [6];   /* ������������� ������ */
  char ar_mode [8];  /* ����� �������� ������ */
  char ar_size;      /* ����� �������� */
  char ar_fmag [2];  /* ������������ ��������� */
};

1 ��������� �������� ������ �������� ����� ���������. �������� ���������� �������� � ���������� ����, �� ����������� ar_mode - ������������� ������ ������� � �������� ������. �������, ���� ����� ������� �� ��������� ������, �� � � ����� �������� ���������.

��� ����� � ���� ar_name ������������� �������� / � ����������� ���������. ���� ar_date �������� ���� ����������� ����� �� ������ ��� ��������� � �����. ������ �������� ������� ����� ���������� �� ������� � �������, ��������� ������� ar(1). ��� �������� ������� ����������� �������� �� ����������� � �������� ������� ����������� ������� conv(1).

������ ������� ������ ���������� � ������� ������� �����. ��� ����� ����� ���������, ���� �����, ����������� ������ �������� ������. ����� �������� � ���� ar_size �������� ������ ������ ��� ����� �������.

���� ����� �������� ������� ����, ������ ���� ������ ����� ��� ������� ����� (ar_name [0] == '/') � �������� ��������� ����������:

  1. ���������� ���� (�������� 4 �����).
  2. ������ �������� � �������� ����� [�������� (4 * ���������� ����) ����].
  3. ������� ������� �������� - ���� ��������� ������ (�������� ������� �����).

������� ������� (������������ ������� ������) � ������ �������� �������� ������ ����� ���������. ������ �������� ������� � ��������������� �� ������� ��������. � ������� ������� ����������� ��� ���������� �����, ������������ �� ���� ������ ������. �������� ���������� ��������� ��������� ��������� �����, ����������� ������ ���������� ���.

��. �����
a.out(4).
ar(1), ld(1), strip(1) � ����������� ������������.

�����������
������� strip(1) ������� ��� �������� ������� ����. ��� ������������� ��������� ������ ld(1) �� ���� ������������ � ������� ������� ar -ts.
Comments: [email protected]
Designed by Andrey Novikov
Copyright © CIT