Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Flex-2.5.4a
ΠΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ: 0.05 SBU ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ: 3 MB
ΠΠ½ΡΡΠ°Π»Π»ΡΡΠΈΡ Flex
ΠΠ»Ρ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠΈ Flex Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅:
./configure βprefix=/usr && make && make install
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ Π·Π½Π°ΡΡ ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠΈ flex ΠΈ ΠΏΡΡΠ°ΡΡΡΡ Π½Π°ΠΉΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ lex (flex β Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° (ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ) ΠΊΠΎΠΌΠ°Π½Π΄Π΅ lex). ΠΡΠ°ΠΊ, Π΄Π»Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠΊΡΠΈΠΏΡ bash ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ lex. ΠΠ½ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ flex ΠΈ ΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ lex.
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°ΠΉΠ» /usr/bin/lex:
cat > /usr/bin/lex << Β«EOFΒ»
#!/bin/sh
# Begin /usr/bin/lex
exec /usr/bin/flex -l Β«$@Β»
# End /usr/bin/lex
EOF chmod 755 /usr/bin/lex
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Flex
ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°: Π²Π΅ΡΡΠΈΡ 2.5.4a.
Program Files
flex, flex++ (ΡΡΡΠ»ΠΊΠ° Π½Π° flex) and lex
Descriptions
flex
flex β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡΠΈΡ Π·Π°Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ°Π·ΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅. Π Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π·ΡΠΎΠ² ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ . ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°Π΄Π°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΏΠΎΠΈΡΠΊΠ°, ΠΈ flex ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΎΠ±ΡΠ°Π·ΡΠΎΠ². ΠΡΠΈΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π»ΡΠ΄ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ flex, ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΏΡΠΎΡΠ΅ Π·Π°Π΄Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π°, ΡΠ΅ΠΌ ΠΏΠΈΡΠ°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
flex++
flex++ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π²Π΅ΡΡΠΈΡ flex, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π΄Π»Ρ ΡΠΊΠ°Π½Π΅ΡΠΎΠ² C++.
lex
ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠΊΡΠΈΠΏΡ lex, Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΉ flex Ρ ΠΎΠΏΡΠΈΠ΅ΠΉ -l. ΠΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΌΠΈ lex Π²ΠΌΠ΅ΡΡΠΎ flex.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
libfl.a
ΠΠΏΠΈΡΠ°Π½ΠΈΡ
libfl
libfl β Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° flex.
ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Flex
ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°: Π²Π΅ΡΡΠΈΡ 2.5.4a.
Bash: sh Binutils: ar, as, ld, ranlib Bison: bison Diffutils: cmp Fileutils: chmod, cp, install, ln, mv, rm, touch Gcc: cc1, collect2, cpp0, gcc Grep: egrep, grep Make: make Sed: sed Sh-utils: echo, hostname Textutils: cat, tr
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Binutils-2.13
ΠΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ: 2.48 SBU ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ: 94 MB
ΠΠ½ΡΡΠ°Π»Π»ΡΡΠΈΡ Binutils
ΠΡΠΎΡ ΠΏΠ°ΠΊΠ΅Ρ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΠ²ΠΎΠΈΠΌ Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠΌΠΈ ΠΎΠΏΡΠΈΡΠΌΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ (Π²ΠΊΠ»ΡΡΠ°Ρ ΠΎΠΏΡΠΈΠΈ -march ΠΈ -mcpu). Binutils ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Π·Π°Π΄Π°Π»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ CFLAGS ΠΈΠ»ΠΈ CXXFLAGS, ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΠΈΠ΅ ΡΡΠΎΠ²Π΅Π½Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠ±ΡΠ°ΡΡ ΠΈΡ ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ° Binutils. ΠΠ·ΠΌΠ΅Π½ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ Binutils, Π²Ρ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅ΡΠ΅ Π½Π° ΡΠ²ΠΎΠΉ ΡΡΡΠ°Ρ ΠΈ ΡΠΈΡΠΊ.
ΠΠ»Ρ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠΈ Binutils Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅:
mkdir ../binutils-build && cd ../binutils-build && ../binutils-2.13/configure βprefix=/usr βenable-shared && make tooldir=/usr && make tooldir=/usr install && make tooldir=/usr install-info && cp ../binutils-2.13/include/libiberty.h /usr/include
ΠΠΎΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄
tooldir=/usr: ΠΠ±ΡΡΠ½ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ tooldir (ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, ΠΊΡΠ΄Π° ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ) ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ $(exec_prefix)/$(target_alias), Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ /usr/i686-pc-linux-gnu. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ binutils Π΄Π»Ρ Π½Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ target-Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² /usr ΠΎΡΠΏΠ°Π΄Π°Π΅Ρ. ΠΠ½Π° Π±Ρ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΠ»Π°ΡΡ Π² ΡΠ»ΡΡΠ°Π΅ ΠΊΡΠΎΡΡ-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ (Ρ.Π΅. ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Intel Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Apple PowerPC).
make tooldir=/usr install-info: Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΡΡΠ°Π½ΠΈΡ binutils.
cp ../binutils-2.13/include/libiberty.h /usr/include: ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΡΠ΅Π±ΡΡΡ ΡΠ°ΠΉΠ» Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² libiberty.h.
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Binutils
ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°: Π²Π΅ΡΡΠΈΡ 2.12.1.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
addr2line, ar, as, gasp, gprof, ld, nm, objcopy, objdump, ranlib, readelf, size, strings and strip
ΠΠΏΠΈΡΠ°Π½ΠΈΡ
addr2line
addr2line ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ Π°Π΄ΡΠ΅ΡΠ° Π² ΠΈΠΌΠ΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π½ΠΎΠΌΠ΅ΡΠ° ΡΡΡΠΎΠΊ. Given an address and an executable, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° ΠΈ Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ ΡΠ²ΡΠ·Π°Π½Ρ Ρ Π΄Π°Π½Π½ΡΠΌ Π°Π΄ΡΠ΅ΡΠΎΠΌ.
ar
ar ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π°ΡΡ ΠΈΠ²Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΠΈΡ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΡ. ΠΡΡ ΠΈΠ² β ΡΠ°ΠΉΠ», ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ² Π² Π²ΠΈΠ΄Π΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΌ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π».
as
as ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π° the GNU C Compiler, gcc Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ Π»ΠΈΠ½ΠΊΠ΅ΡΠΎΠΌ ld.
gasp
gasp β Assembler Macro Preprocessor.
gprof
gprof ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ².
ld
ld ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΠΈ Π°ΡΡ ΠΈΠ²Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ. ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π³ Π² ΡΠ±ΠΎΡΠΊΠ΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ β Π·Π°ΠΏΡΡΠΊ ld.
nm
nm ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
objcopy
objcopy utility ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π² Π΄ΡΡΠ³ΠΎΠΉ. objcopy ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ GNU BFD Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ/Π·Π°ΠΏΠΈΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π·Π°ΠΏΠΈΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π² ΡΠΎΡΠΌΠ°ΡΠ΅, ΠΎΡΠ»ΠΈΡΠ½ΠΎΠΌ ΠΎΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ.
objdump
objdump Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ . ΠΠΏΡΠΈΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ. ΠΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎΠ»Π΅Π·Π½Π° Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, Π² ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅ΠΌ, ΠΊΠΎΠΌΡ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ranlib
ranlib Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΎΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π°ΡΡ ΠΈΠ²Π° ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π΅Π³ΠΎ Π² Π°ΡΡ ΠΈΠ²Π΅. Π‘ΠΏΠΈΡΠΎΠΊ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π²ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠ»Π΅Π½Π°ΠΌΠΈ Π°ΡΡ ΠΈΠ²Π°, that is a relocatable object file.
readelf
readelf Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± Π±ΠΈΠ½Π°ΡΠ½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ ΡΠΈΠΏΠ° elf.
size
size Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠ΅ΠΊΡΠΈΠΉ βΠΈ ΠΎΠ±ΡΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρβ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΎΠ΄Π½Π° ΡΡΡΠΎΠΊΠ° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ Π² Π°ΡΡ ΠΈΠ²Π΅.
strings
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° strings Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π΄Π»ΠΈΠ½ΠΎΠΉ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ 4 Π·Π½Π°ΠΊΠ° (ΠΈΠ»ΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ), Π·Π°Π²Π΅ΡΡΠ°ΡΡΡΡΡΡ Π½Π΅ΠΏΠ΅ΡΠ°ΡΠ½ΡΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ Π»ΠΈΡΡ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΈ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΡΠ°ΡΡΠ΅ΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ»Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΠΏΠΎΠ² ΡΠ°ΠΉΠ»ΠΎΠ² Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· Π²ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π°.
strings Π·Π°ΡΠ°ΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π½Π΅ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
strip
strip ΡΠ΄Π°Π»ΡΠ΅Ρ Π²ΡΠ΅ ΠΈΠ»ΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². Π‘ΠΏΠΈΡΠΎΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π°ΡΡ ΠΈΠ²Ρ. ΠΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π·Π°Π΄Π°Π½ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ°ΠΉΠ». ΠΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½Π΅Π΅, ΡΠ΅ΠΌ Π·Π°ΠΏΠΈΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠΎΠΏΠΈΠΉ ΠΏΠΎΠ΄ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
libbfd.[a,so] ΠΈ libopcodes.[a,so]
ΠΠΏΠΈΡΠ°Π½ΠΈΡ
libbfd
libbfd β Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Binary File Descriptor.
libopcodes
libopcodes β Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠΏΠΊΠΎΠ΄Π°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΠ±ΠΎΡΠΊΠ΅ ΡΡΠΈΠ»ΠΈΡ Π²ΡΠΎΠ΄Π΅ objdump. ΠΠΏΠΊΠΎΠ΄Ρ β Β«ΡΠΈΡΠ°Π΅ΠΌΡΠ΅Β» Π²Π΅ΡΡΠΈΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°.
ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Binutils
ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°: Π²Π΅ΡΡΠΈΡ 2.11.2.
Autoconf: autoconf, autoheader Automake: aclocal, automake Bash: sh Binutils: ar, as, ld, nm, ranlib, strip Diffutils: cmp Fileutils: chmod, cp, ln, ls, mkdir, mv, rm, rmdir, touch Flex: flex Gcc: cc, cc1, collect2, cpp0, gcc Glibc: ldconfig Grep: egrep, fgrep, grep M4: m4 Make: make Gawk: gawk Sed: sed Sh-utils: basename, echo, expr, hostname, sleep, true, uname Texinfo: install-info, makeinfo Textutils: cat, sort, tr, uniq