1.- ������� �������� ���������. ����������.
� ���� ��� � �������� ����������� �������� ������� �������� �������� �������� ������ �������� ������� � �����,
������������� �������������� � ��������������.
���� ������� ������� �� ��������� �����:
�������� ��������� ���� �� ����� �������� ������ � ��������� ���������.
���� �� ���������� �������� ����� ������� ��������� � ���� ����, �� �� ����� ������ ���������. �� ���� ������� �������� ���
����������� �� �������������� ������, ������� ������� �� ������ ��� ����� ������ ��������� ����. �������� ��� � ����
������� ����� �� ����������� ����� ���� ������� �� ����� � ��� �� �����, ��������� ��������� ����� ����� ������ ��������
��� ������� ���������� ������.
����� �������� ������ � �������� ����� ���������, ��� ����� ���� �������������� � ����� ����, ������� ����� ���������
������. ������ �� ���� ���� ������� ��� �� ��������� ����. ���� ��� ��������� �� �� ����� ��������, ��� �
�������� ���, �� ����������� ����, ��� �� ������� �� ������ �����, ������� ����� ��������������� ����������� �������.
������� ���������� ��������� ���� � ��������� ��� �������� ��� ����������.
���������� ����������� �� ������ � �� ���� ��� ������������� (� ����������� �� �����������) ����� ��������� � ������ ����
��� ��������� ������. ���������������� ��������� ��� �������� ���������, ������������, ���������� � �.�. -- ����� ��������,
������� ���� �������������� � ������� ������ � ���������� ����.
����� ����, ��� ���� ������� ��� ����� ��������� � �������� �����, �� ���������� ��������� ��� ������������ ��� ������
��������, ����������� ����������� ��������, ���������� �����������. �� ���� ������ ��� ������, ������� ��� ������
������ �� ���, ������������� ������� ������, "�����������" (�����, ��� ����� ������������ ��� ������ �� ����������,
������������� ��� ����������� � ������ ������). �������������� ��������� �������� ���������, ������� ����� ���������������
��������� � ���������.
���������� ��������� �������������� ������ ����� ����������� �����������, ������� �������� ������������ ������
������������ �������, � ������ ������� ��� ��������� ����� exec(). ��� ������� ������� ����, �������� ������
��������, ��������� ������������ ����� ����������� ����� (���������� ��� � ��������� �������� ����������) � ��������
���������� ���������� � ����� 'text' � ���������, ������� ������ ��������� �� ��� ����������� ����.
2.- ������� ������� �������� �������� ���������.
������� �������� ��������� ���������� �����������, ��� ���������� ��� ���������� �������� ������������ ����������
�������� ��� ������� ������������� ��������� ��������.
� ������ ��������� �������� ��������������� � �������� ����. ������� ����� ����, ��� ����� ������ ��������� �� ����� �����
�������� ������, ��� ��� ����������� ���������� � �������� ��� ����� ���������������� ��������� ��������������� �������
����������. ��� ��������� ������������������ ��������.
����� ����, ��� ��������� ������������� ��������� (� �������� �������� ����������, �� ����� ���� ��� ��� ����� �������
���, ��������� ��� ����� ������� �������), ������� �������� �������� ���� �������� �� �������� ����� � �������� �����
���������, ��� ���������� � � ����� ������ ����������.
����� ���� ��������, ��� ������� ���������� ����� ��������� � �������� ����� ����� ��������,
������� �������� �����, � ��� ������ �������, �������� � ��� ��������� �������������� ��� � ��� ��� � ��������� ����������.
����� ����, ����� ���-�� ������� ����� ���������, ���������� ������������ ���� �������� ����� ���������� ����� ���������
����, ������� ����� ���������� ����� ��������������� ����.
�� ���� ������� ����� ��������� ��������� ����������. �� ����� ���������� � ���������� ��������� ��, � ����� �������,
������� ��������� �, � ������ �������, �� �������, ������� ����� �������������� ��� � ��� ��� � ������� ��� ����
�������������� � ��������� � ������ ����� (�� ����� �������� ��� ���������������� ����������).
����� ����� ��������� ������������� ���������, ������� ������������ ��� ������� ��� ������� �������������� ������ ��
�������� �� ���� ��� � ��� ���. ���� �����, ������� ��� ������ ��-�� ����, ��� ��� ���������� �������� ���� ����������
���������� ��� ����� � ��� ������ ���� ���� �������� ������������ (��� ������ �������������� ������� �� �������� �����������
������������� ��������� �������, ������� ����������/������� ������ ����������� �������).
3.- ��� ����� ����������?
��������� ���� �������� ������� � �������� ���������. ��� ����� ����, ��� ������ ��� ����� (���� ���� ������, �� �����,
tar(1) ��� cpio(1)) � ������� �����������, ������ ������� ����������� ��������, � ����� �� ��������� ���
������������ �����, ����������� �������� ������ �� ������, ������� ����� ��������� � ��������� ��� ���������. ���������
����� ������������. ������ ����� ���� ������������� ���������, ������� ���������� ������� ���������� �������, �
������������ ����� �� ����������� ����� ��� ����������� ������� � ���� ����������.
�� ����������, ������� �� ���� ��������, �� ����� � �������� ������. � ��� ������ ��������� ����, ����� ����������� �
������ ������, ���������� �������� ������� � ��������������, ������� ����������� ������ ��������� ��� ������ ���� ����������
(� ��� ����� �������� ������������� � ������ ���������� �� ��������� ���). ���� ������� (���������� ������� �������� � �����
����������) � ������� ����������� �������� ranlib(1). ��������� ���� ���������� �������� ��� ����������� ����������.
�������� ��������� ����� ��������� ������ ������������� �������: ���������� ����. ���� � ����� � ��� �� �������
���� �������� ��� ����� ������ � ���� �� ����, ���� �� ����������, ����� ��� �������� ����� ��������� ������������ ����
���, ��� ��� ������ ��������� �� �������� ���� ����������� ���. ��� ���� ��������� ������������� � ���������� � ������
���������� �����, ��� ����������� ������� ���������� ������ � �������� ��������������������� ��������.
�������� ��� ��������� ������������ �� ���� ��� ������, ���-�� (� �� ����, ��� ��� ���, �� ���� ���� �������� ;-)
�������, ��� ����� ����� ������ ��������� ���������� ���� � �� �� ����������, ��, ������ ������� �����������, �����
������������ ���������� ����� �� ����������� ���� ���� �� �������, ������������� ������ ����������. ����� ����, ��������
��� ��� ������ (��� �� ������ ���������), ������� �� ������ �� ���� ������������. ��� ��, ��� ����� �������, ��� ����
������ ���������, ������������ ���� � �� �� ����������, ����� ������ ����� ����� ��� ����������, �� �� �� ������ ��������
������� ������. ������ ������ ���������, ���� ������ �����, �������� � ����� � ��� �� ����� ����������.
������ ������ ������� ���� �������. ����������� ��������� �� ��������� ������������, �� ���������� ������ ��
�������������� ��������� ������������� �� ������� �������� ���������. ����������� (� ������ ������� ��� ld(1)) ����������
������ ����������� ��������� � �� �������� �� ��� � ���������. ���� �������, ����, ��� ���������� exec() ����������
������ ���������, ������������ ����������� ���������� � ��������� ����������� ���, ����������� ����������� ����������
(������� ����������� ������ ��� �� ������, ������� �������� ������ ��� �������� ���������� � �.�.). ������ ���� �������
����������� ��� �������� ������������ ����� � ��� ��������� ������ �����������.
������� ��, ����� ����������� ����������� � ������� �����������, �� ���������� ����� ���� �����, ��� � ������.
����������� ���������� �� �������� �������, ���������� ��������� ���, ������ ��� ����, ���������� ��� ��������� ���. ��
����� ���������� ��������� � ����������� �����������, ����������� �� ��������� ����������, ����� ������ ����
��������� � ���������, � ����� ���. �� ������ ��������������, ��� ������������� ������ ���������� ������������, �
����������, ��� ���������� �������� � ������ ��� ��������� ����������. ����� ������� �������� ar(1) ���������� ����
����������� ���������, �� ����� ��� �� ��������, ��� ��� ����������� ���������� ����� �������� ����������� ����������
��������� �������, ������� ���������� ����������� �������, �� ����� ����������. ��������, �������� ����������� ����������
�� �������� ����� �������� � ���� �� ������ ������� �� ����������� �������� (��� �� �����, ��������� ��� ����� �� ������, ��
�� ���������� ���� ������).
4.- ���� ���������.
��� �� ��� ��������, � ������ ���������� ��� ���� ���������: ����������� � �����������. ����������� ���������� ��������
������� �������, ������������ � ����� ��� ������ ������� ar(1) � ������������������ �������� ranlib(1). ��� ������ �����
�������� � ����� � ���������� .a (� �� ��������� ������ ���������� ������, ��� � ������� ��������� ���������� ����� ��
������������). ����������� ���������� ��������� ����� .a � �������� ������ ������, ��� ���� �� ��� ���� �����������
����������, �������� � ��������� � ��������� �� ������, ������� ��������� ������������� ������.
� ������� �� �����������, ����������� ���������� �������� �� ��������, � ������������� ���������, ������������� ������
����� (������� ���������� �� ��� ����������� ����������). ����������� ld(1), ��� ��� ����������, �� ��������� ������ �
����������� ���, � �������� ��������������, ��������������� ����������� ��� �����������, ��������� ��, ������� ����������
����� ����������, � ���������� ������, �� ������� �������� ����, ������, ��� ��������� ��� ��� ��� �������� � �������� ���.
����������� ld(1) ���������� ����������� ���������� �� ��������� .so (�� .so.xxx.yyy, �� ������� ���� ������ �������).
5.- ������� ���������� � ������.
������ ��������� ������� �� ��������� �������, �������������� � ����������� ����. ��� �������� ��������� ������������ �
������� ����������� ld(1).
ld(1) ������������ ��������� �����, ������� �������� ��� ���������, �� �� ����������� ����� ������ ����,
������� ������� � �������������� ��������� � �����. ld(1) ���������� �� ��������������� �������������,
� ����� ������������ gcc(1) �� ��� ����������� ������. ��������� �������� � ���
modus operandis ������� ��� ������ ������ ������������� ��������� � ������.
��� ���������� ������ ld(1) ��������� ������ ��������, ������� ���������� ������������ � ����������. ���
������� ����� �������� � ����� ������� (*) ���� �� ��������� ��������� ���� ����������, ��� ��� ����������, �����������
���������� ������������ �� ��������� .so (� �� .so.xx.yy) � ����������� ���������� �� .a (� ������� ��, ��������
���������� ������� �������� ��, ��� ��� ������������� �� .o).
(*) ��� �� ������ �����. ld(1) �������� ������ �� ������, ������� ��������� ������ �� ������ ��������� ����������,
������� � ������, ���������� �������, ��� ����� ����� ���� ������, ������� �������, ��������� ��� �� ����������� �� ������
��������� ���� ����������, ����� ������� ������� �� ��������� ����������� ���������.
� ������ �������, ld(1) ��������� �������� ����������� ����������� ��������� ������ -l � -L.
��... ��� �� �������� ��� ����������� �����������, � ��� �������? �������. ������ ��, ��� ld(1) ���� �����������
���������� � ������������ ������, ����� ��� ��, ��� ������� � ������ ���������� ��� �������, ������ �� ������ �� ������.
�� ��������� ���������� ������ � ��������� /lib � /usr/lib (���� � ������, ��� � ����������� ��
������/���������� ld(1), ����� ���� �������������� ��������).
-L ��������� ��� �������� �������� � ���, ������� ��������������� ��� ������� ������ ���������. ��� ������������
�������� -L ������� ��� ������� ��������, ������� �� ����� ��������. ����������� ����������
����������� ������ -l ��� (��� ��� ��������� ����������, ������� ���������� ���������) � ld(1)
����� ������, � ��������������� �������, � ��������������� ��������� ���� � ������ lib���.so. ���� �� �� ����� ������, ��
����� ������� ������� ����� lib���.a, ��� ����������� ������.
���� ld(1) ������� ���� lib���.so, �� ���������� �� ��� ����������� ����������, ����� ��� ���� �� ������ ����
lib���.a, �� ���������� ������, ���������� �� ���, ���� ��� ��������� ����� ������������� ������.
6.- ������������ ���������� � �������� ����������� ���������
������������ ���������� ����������� � ������ �������� ������������ ����� ������ ������� (�� ����� ���� ���� ������ ������
�������� ����� ����������� �����������), ���������� /lib/ld-linux.so.
�� ����� ���� ���������� ��� ������ ��� ���������� ������������ ���������: /lib/ld.so (��� ���������,
������������ ������ ������ a.out) � /lib/ld-linux.so (��� ���������, ������������ ����� ������ ELF).
����������� ���� ������� ����������� � ���, ��� ��� ������� ����������� ������ ���, ����� ���������� ������������
���������� ��������. �� ����� ���������� (������� � ���, ��� �� ������ ���������� �� �������� /lib, � �����
������ �������� �� �����). ���� �� ������� ��� /etc/ld-linux.so, �� �� ������������� ��������� �������������
����� ���������, ������������ ����������� ����������, ��������� ���� ������ �������� �� ���������� ���� ������, ��
����������� �� ����� ����������.
���������� ������ �������� ������������� ����� /etc/ld.so.cache, � ������� ��� ������ ���������� �����������
�������� ���������� ����������� ����, ���������� ��� ����������. �� �������� � ���� ���� �������.
7.- soname. ������ ����������� ���������. �������������.
�� ������� � �������� ���������� ����, ��������� � ������������ ������������: �� ������.
����� ����������� ��������� 'library libX11.so.3 not found,' ����������� ��� � ������������: �������
����������� libX11.so.6 �� ���������� ������ �������. ��� ����� ���������, ��� ld.so(8) ��������
����������������� ���������� libpepe.so.45.0.1 � libpepe.so.45.22.3 � �� ��������
libpepe.so.46.22.3?
� ������ (� �� ���� ������������ ��������, ������������ ������ ELF) ���������� ���������������� ���������� ��
������������������� ��������: soname.
soname ���������� � ���� ���������� � ��� ������������������ ������������ ��� ���������� ��������, �����������
����������. ��� �������� ����������� ����������, ����� ���� �������� ���� ���������� ������ ���������� �������� ld(1)
����� (-soname <���_����������>).
��� ������������������ �������� ������������ ������������ ����������� ��� ������������� ����������� ����������, �������
���������� ���������, � ������������� ������������ �����. ��� �������� �������� ���:
Ld-linux.so ����������, ��� ��������� ������� ���������� � ���������� �� soname. ����� ���� ����� ����� �
/etc/ld.so.cache � ������������ ��� �����, ����������� ��� ����������. ����� ����������� soname ������������ �
������ ������������ ����������, � ���� ��� ���������, �� ������ ��� ��� � �����! ���� ���, �� ����� ����� ������������ ��
��� ���, ���� ��� �� ����� �������, ���, ���� ��� �� ����� �������, ����� ������ ��������� �� ������.
�� soname ����� ����������, �������� �� ���������� ��� ��������, ������ ��� ld-linux.so ���������, ��������� ��
��������� soname � ��������� ������. � ������ �������� �� ����� �������� ���������� 'libXXX.so.Y not found'. ������
������ soname � ���������� ������ ������������ soname.
���� �� �������� ��� ����������, ����� ���������� ������� ��������, ��� ���� ���� �������� ���������.
�� �������� soname ���� �� ����� ������� ����, ������ ��� � ���������� ������ ���� ���������� �� ���������� soname:
soname �����������, �� ���������, ������ ���������������� ��������������� ���������� � ��������� ���� ����������. ����
�� ������ ��������� � ����������, ������� ����������� ������ ���������� ����������������, �� ��������� ���������
���������� (���������� ��������, ����������, ��������� �������), �� ��� ���������� ����� ����������������� � � ����� ��
������, ��� ��������� ���� ��������������� (��� ���������� ���������� � �� ����� �������� ���� �� ������). ���� ���
����������, �� ����� ���������� �������� ����� (������� �� ������ � ������ soname) � ���������� ����� ���� �������� ���
������������ �������.
������, ����� �� ��������� �������, ������� ������� � � ����� �������� ��������� ����������, �� ��� ����������
����������, ��� ��� ���������� ��������������� � ���������� (�������� ������ libX11.so.3 �� libX11.so.6
�������� ������ �������� � X11R5 �� X11R6, ��� ���� �������� ����� �������� � ������� ���������� ���������). ������� �
X11R6-v3.1.2 �� X11R6-v3.1.3 �������� �� ������� ��������� � ���������� � � ���������� ��������� �� �� soname -- ����,
����� ��������� ������ ������, ��� ����������� ���� �� ������ ��� (�� ���� ������� ����� ������ ��������� ��� ����������,
����� ��� � soname �������� ������ �������� ������).
8.- ldconfig(8)
��� �� ��� �������� ������, /etc/ld.so.cache ��������� ld-linux.so �������������� soname �����, ������������� �
����������. ��� �������� (��� ������� �������������) ����, ��������� �������� ldconfig(8).
ldconfig(8) ������� ��� ������ ������������ ����������, ��������� � ���������, ��������� �
/etc/ld.so.conf, ������������� ������ � ������ ���������� soname. � ���� ������, ����� ld.so ����� �������� ���
�����, �� ��� �� ������, ��� �������� � ������ ��������� ���� � ��������� soname. � ������� ��� ������������� ������ ���
��������� ldconfig(8) ��� ���������� ����������. �� ��������� ldconfig ������ ����� �� ��������� ������� � ������.
9.- � ���� ������� ������������ ����������.
������ ��� ������ ��������� ������������ ����������, �� ������ ��������, � ������������� �� ��� ����. ������������
���������� �������� ���������� ������� �� ���������� ��������:
�������� ��������� �������������� � ��������� ������; ���� �� �������� �������� ���������, ��������� ��� ������
������������ ����������, ������� ���������� ��� ��������� (�� ���������� ��� ��� ��������������� ������������ ����������,
��������� ���� ��������� ����� �������� ���� ��������� � ���������� �������������).
������������ ���������� ������ ��������� ������������ ���, ��������� �����, ���������� �������� � ������������ �����������
�������, ���������� �� ������� ��������. � ���� ������ ���������� �������� ������������� ������� ��� �������� ���������
�������� ���������� �, ��� ���������, ��� ����������� ���� �� ����� �� ���� ������� ������. ��� �� ����� �� � ��������,
��� ��� ������������ ��� ���� ���������� � ����������� ������� ������������ ����� �� ����� 5% ����������.
��� ������������ ���������� �������� ���������� �������� ������, ����� �� ��������� ���������� �����-���� ��������� (���
�������� �������� �������� ������ ���������� ����� ���������� ������������ �� ��������. ���� ������ �������� ����������
������ ����������, ��� �������� � ������).
����������� ���������� ����������� � ������ ��������� (� �� ������ ����������� ������), �������, ����� ���� ��������,
��� ������ �������������� ���������. ��������� �������� ������������� ������������ ���������� �������� �������������
������ ����� �������, � 90% ���������� ���� �� ����� ������������.
������� �������� ������������ ���������� �������� ����������� ���������� C (��� ������������ ����� �����������,
����������� �� C). � ������� ������������ ��� �������.
� ����������� ���������� ����� �� ����������� �������� ������� ������������ �������; ���� ��� ���������� � �����
����������� ������, ��� �� ����� ������������ �� � ����� ����������, ������� ��� �� ���������.
9.1.- ���������� �������� �����
���������� �������� ����� ����������� ����� �����, ��� � � ������ � ������� �������� �����, �� ����������� ����, ��� ���
�������� ����, ������� ����� ��������� � ��������� �������� � ������������
����������� ������� ��������, �� ����� ������������ ����� '-f PIC' (����������-����������� ���).
���� ��� �������� ���������������, ��� ��� � ����������� ���������� ��������� ������������ �������� ����������� ���
����������, ������� �������� ������������� �����. ��������� ���� ��� � ������ ����������� ������ a.out ���� ����������,
��� ��������� � ���������� ������ ����������� ���������� � ������������� ��������� � ������������ ����������� �������.
� ��� ���������, � ����� ������ ����� ���������� ���������, ���� ��������� ������ ������������ ��� ���������� �
��������� �� � ��������������� ������� ����������� ������. ��� ��������, ��� �� ���� ��������� ����� ������, � �������
������, ���������� ������� ���������� ������������, ������ ��� �������� �������� ������������ ������� � ���, ����� �����
������ �� ��� �� ���������������.
��� �� ��� ��������, ����������� ������������ ���������� � ����������� ������ �� ����������, ��� ��� ����� ����������
���������, ��� ����������� � �������, ������������ �� ������ ������, �� ������ �� ��� ����, ��� ��� ������ ���� ����������.
9.2.- ���������� �������� � ����������
����� ���������� ���� ��������, �� ���������� ������������, ����� �����, ������� ������� ����������� ����������� ������.
gcc -shared -o lib���.so.xxx.yyy.zzz
-Wl,-soname,lib���.so.xxx
��� �������� ����� ��������, ��� ������ �� ������� ������� ����������, �� ����������� ����,
��� ��������� ��������� �����, ������� �������� � �������� ����������� ����������. ������� ���������� � ������ ��
�����������:
-shared.
����� ������������ ���������, ��� � ����� �� ������ ������� ����������� ���������� � ������� � �������� �����,
��������������� ����������, ������ ����������� ����������� ���.
-o lib���.so.xxx.yyy.zzz.
��� ��� ��������� �����. ����� �� ����������� ��������� ���������� �� �����, �� ���� �� �����, ����� ��� ����������
����� ���������� ��� ������� ����������, �� ����� �� ���������.
-Wl,-soname,lib���.so.xxx.
����� -Wl ������� gcc(1), ��� ����� ���� ����� (����������� ��������), ������� ������������� ���
������������. ���� �������� ������������ gcc(1) ��� �������� ����� ld(1). � ������� �� ��������
������������ ��������� �����:
-soname lib���.so.xxx
��� ����� �������� soname ����������, ������� ��� ���������� ����� ����������� �� ������� ��������, ������� ���������
��������� soname.
9.3.- ��������� ����������
��� �, � ��� ��� ���� ��������������� ����������� ����. ������, ����� ��� ����� ���� ������������, ��� ����������
���������� � ��������������� �����.
��� ���������� ���������, ������� ������� ���� ����� ����������, ���������� ������������ ��������� �������:
gcc -o program lib���.so.xxx.yyy.zzz
���, ���� ���������� ���� ����������� � ������� (/usr/lib), ����� ����������:
gcc -o ��������� -l���
(���� ���������� ��������� � /usr/local/lib, �� ���������� �������� ����� '-L/usr/local/lib'). ��� ��������� ����������
��������� ���������:
���������� ���������� � ������� /lib ��� /usr/lib. ���� �� ������ ����������� �� � ������ �����
(�������� � /usr/local/lib), �� �� �� ������� ���� ����������, ��� ��� ���������� �������� �����������
ld(1) ������ �� �������������.
��������� ldconfig(1) ��� �������� ���������� ������ lib���.so.xxx.yyy.zzz ��
lib���.so.xxx. �� ���� ���� ��� ������ ��������, ��������� �� �� ��������� ��� ���������� ���� � ������������ ��
���������� ��� ������������. �� ���� ���� ����������� ������� ������ �� �������� ���������� �� ����� ����������, � �� ��
���������� ��������.
��� ����, ����� ����������� ��� ����� ���������� �� ����� -l, �������� ���������� ������ �
lib���.so.xxx.yyy.zzz (��� � lib���.so.xxx, soname) �� lib���.so. ����� ���� ��������
���������, ����������, ����� ��� ���������� ������������� ������� lib���.so
10.- �������� ����������� ����������
����, � ������ �������, ����������� ������� ����������� ���������� (��� ��������� ��� ������ ��� ����, ����� ����� ����
��������� ���������� �������������� �����), �� ���������� ��������� ���������:
���������: ����������� ��� ������ ��������� ������� ���� ���� � ������ lib���.so, � ���� �����
lib���.a. ���� �� ������� ��� ���� ���������� (����������� � ������������ ������) ����� � ��� �� ������, �
�����-�� ����� ���������� ����������, ����� �� ���� ����� ������������ � ������ ������ (������������ ������ �����������
������, ��������� ����������� ������������ �� ������).
�� ���� �������, ���� ���������� ����� ��� ������ ����� ����������, ������ ������������� �������� ����������� � ����
lib���_s.a, � ������������ lib���.so. ����� ��� ���������� ����� ����� �������:
gcc -o program -l���_s
��� ���������� �� ����������� �������, ����� ��� ��� ������������:
gcc -o program -l���
10.1.- ���������� ��������� ����
��� ���������� ��������� ���� ����� �� ����������� ��������� �����-���� ������ ���. ����� ����� ��������� ��������
�������� �� ������ ����������, �� ����������� ������������� � ������ -f PIC (����
�������� ���������� �� ������������).
10.2.- ���������� �������� � ����������
� ������ ����������� ��������� ���������� �� �����������. ��� ������� ������������ � ������������ ����
�������� ar(1). �����, ����� ������ ��������� ������� ���������� ��������� ������� ranlib(1) ���
�����������. ���� ��� � �� �����������, ������������ ���� ������� ����� �������������� ������ � ����������� ����� ������,
��� ��� ��������� ������ ������������� �� ����� �������� ���������� �� ��� �������� ����������� ����� �������� �����������
����������: ������, ������, ������������ � ����� ������, ��������� ������ ������, ����������� � ������ ������, ��� ��������,
��� ��� ���������� ���� ������ ��������� ��������� �������� �� ����� � ��� �� ����������.
10.3.- ��������� ����������
����������� ���������� ���������� �������� � ������� libName.a ������ � ��� ������, ���� ���� ������� ����� ������ �����������
����������. � ������ ���� ����� ��������� � �� �������������� �������� �� lib���_s.a, � ���, ����� ���� ����� ���������,
����� ��������� �����������, � ����� ������������ ����������.
������� ���������� ��������� ������ ����� -static. ��� ����� ��������� ��������� ������ /lib/ld-linux.so, �
�� ������ �� ������� ������ ���������, ������� ���� ���-�� ������ -static � ld(1) ������ ������������
����������, �� �� ����� �������� � ��� (� �� ���������� ������ ����������� ����������). ��� �������� � ������� �� �����
���������� ��-�� ������� �������� � ����������, ������� �� ������ � ������ ������������ ����� -- ������ ��� ��������������
������������ �������� �� ����������� � ������� ������� �� ����� ���� ��������.
11.- ��������� ����������� � ������������ ����������
�����������, ��� �� ����� ������� ����������� ���������, ������� ���������� ����������, ������� �� ����� ��������������
������ ���������� � ��������� ����������, � �� � ����� ���� ����� (�������� ����� ������ �������� ����������, ��������� �
�������������� Motif).
������� ����� ��������� ����� ����� ���������. ������ ����������� � �������� ���������� ��������������� ������������
����� (��������� ������ ���������� .a � �� ��������� ������������� ����������). ���� ��� �������� ����������� ���� ��� �
�� ������� �� ����� ���������� �� ������� (���� /lib/ld-linux.so). ������ � ��� ���� ���������� -- ��� �����������
����� ������� � ����� �������� ����� � ������� ��� ������ ����� ������� �����. ������ ��������� �������� �������� �����������
�������������� ���������, �� ���� � �����, � ������� ���� ���������� �����
�����������, ������ ���� ��� �������������� ������������ ����������. ����������� ���� ����� ���� ����� ���������, ���� ������
���������� ����� ��������� ��� ���������� (�������� ���� ����, � ������� ��� Motif).
���������� ������ �������, ���������, � ������� ��������� ���������� ������������� �����������, � ��������� ����������.
� ���� ������ ���� �� ������� ������� ������������� ���������� � �� ����������� ����� � ��� ��������� � �� ������������
�����. ���� ������� �������� ����� ���������������� ������ ������������ ��������.
��������, ����� �������������� ��� ��������� ������ ��������� ��������� �������:
gcc -static -o program.static
program.o -lm_s -lXm_s -lXt_s -lX11_s\
-lXmu_s -lXpm_s
gcc -o program.dynamic program.o
-lm -lXm -lXt -lX11 -lXmu -lXpm
gcc -o program.mixed program.o
-lm -lXm_s -lXt -lX11 -lXmu -lXpm
� ������� ������ ������ ���������� Motif (-lXm_s) ����������� ����������, � ��� ��������� �����������
�����������. �� �����, � ������� ����� ����������� ���������, ������ �������� ���������������� �������� ���������
libm.so.xx libXt.so.xx libX11.so.xx libXmu.so.xx � libXpm.so.xx
|