<ΠΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ | Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅: | Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ>
6.21.2. Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ GCCβ
Π£ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ: c ++, cc (ΡΡΡΠ»ΠΊΠ° Π½Π° gcc), cpp, g ++, gcc, gcc-ar, gcc-nm, gcc-ranlib, gcov, gcov-dump ΠΈ gcov-tool
Π£ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ: libasan. {A, so}, libatomic. {A, so}, libcc1.so, libgcc.a, libgcc_eh.a, libgcc_s.so, libgcov.a, libgomp. {A, so}, libitm. { a, so}, liblsan. {a, so}, liblto_plugin.so, libquadmath. {a, so}, libssp. {a, so}, libssp_nonshared.a, libstdc ++. {a, so}, libstdc ++ fs. Π°, libsupc ++. Π°, libtsan.
{a, so} ΠΈ libubsan. {a, so}
Π£ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ: / usr / include / c ++, / usr / lib / gcc, / usr / libexec / gcc ΠΈ /usr/share/gcc-9.2.0
ΠΡΠ°ΡΠΊΠΈΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ
c ++ ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ C ++
cc ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ C
cpp ΠΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΡΠ·ΡΠΊΠ° Π‘ΠΈ; ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ #include, #define ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π² ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ
g ++ ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ C ++
gcc ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ C
gcc-ar ΠΠ±Π΅ΡΡΠΊΠ° Π²ΠΎΠΊΡΡΠ³ ar, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΏΠ»Π°Π³ΠΈΠ½ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ. ΠΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ "ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ" ΠΈ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½Π° Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
gcc-nm ΠΠ±Π΅ΡΡΠΊΠ° Π²ΠΎΠΊΡΡΠ³ nm, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΏΠ»Π°Π³ΠΈΠ½ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ. ΠΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ "ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ" ΠΈ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½Π° Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
gcc-ranlib ΠΠ±Π΅ΡΡΠΊΠ° Π΄Π»Ρ ranlib, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΏΠ»Π°Π³ΠΈΠ½ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ. ΠΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ "ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ" ΠΈ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½Π° Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
gcov ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠΊΡΡΡΠΈΡ; ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, Π³Π΄Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠΈΠΉ ΡΡΡΠ΅ΠΊΡ
gcov-Π΄Π°ΠΌΠΏ ΠΠ²ΡΠΎΠ½ΠΎΠΌΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄Π°ΠΌΠΏΠ° ΠΏΡΠΎΡΠΈΠ»Ρ gcda ΠΈ gcno gcov-ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΠ²ΡΠΎΠ½ΠΎΠΌΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΡΠΈΠ»Ρ gcda Π»ΠΈΠ±Π°ΡΠ°Π½ ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Address Sanitizer Π»ΠΈΠ±Π°ΡΠΎΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΡΡΡΠΎΠ΅Π½Π½Π°Ρ Π°ΡΠΎΠΌΠ°ΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ GCC libcc1 ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Cββββ
libgcc Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π»Ρ GCC
libgcov ΠΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ²ΡΠ·Π°Π½Π° Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ, ΠΊΠΎΠ³Π΄Π° GCC ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
libgomp GNU ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ OpenMP API Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΎΠ±ΡΠ΅ΠΉ ΠΏΠ°ΠΌΡΡΡΡ Π½Π° C / C ++ ΠΈ Fortran
liblsan ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Leak Sanitizer
liblto_plugin ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ GCC Link Time Optimization (LTO) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ GCC Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
libquadmath GCC Math Library API Ρ ΡΠ΅ΡΡΡΡΠΌΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ
libssp Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΡ Π·Π°ΡΠΈΡΡ GCC ΠΎΡ ΡΠ°Π·Π±ΠΈΠ΅Π½ΠΈΡ ΡΡΠ΅ΠΊΠ°.
libstdc ++ Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° C ++
libstdc ++ fs ISO / IEC TS 18822: 2015 ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ
libsupc ++ ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π΄Π»Ρ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C ++.
libtsan ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Thread Sanitizer
libubsan - Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Undefined Behavior Sanitizer
<ΠΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ | Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅: | Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ>