Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
ΠΠ΄Π½Π°ΠΊΠΎ Π½Π΅ Π²ΡΠ΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ Π² Linux ΠΊΠΎΡΠΎΠ»Π΅Π²ΡΡΠ²Π΅, Π΅ΡΠ»ΠΈ ΠΡ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅ΡΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΈ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΎ Π΅ΡΠ»ΠΈ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡ ΡΠΆΠ΅ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΡΡΠ°ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΠΏΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΡ ΡΠ°ΠΊ ΠΈ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΠΎ Π΅ΡΡΡ ΠΏΡΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΈ ΠΌΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ Π½ΠΈΠΌΠΈ ΠΏΠΎΠ·ΠΆΠ΅.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°ΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΈΠ΄:
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ libfsdyn.so, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎ ΠΌΠΎΠ΅ΠΉ Π·Π°Π΄ΡΠΌΠΊΠ΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ libfs.a, ΡΡΠΎ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΡ π Π’Π΅ΠΏΠ΅ΡΡ, ΡΡΠΎΠ±Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ ΡΠ°ΠΉΠ» Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΡΠΎΠ±ΡΠ°ΡΡ ΡΠ°ΠΉΠ» ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
ΠΡΠ»ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΡ ΡΡΠ°Π²Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ°ΠΉΠ» ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΡΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠ΅ΡΡΠ°, Π½ΠΎ ΡΡΠΎ Π»ΠΈΡΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π½Π°ΠΌΠΈ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½Π°Ρ ΠΈ Π»ΡΠ²ΠΈΠ½ΡΡ Π΄ΠΎΠ»Ρ ΡΠ°ΠΌ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ. Π ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ , ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅.
ΠΠ° ΡΡΠΎΠΌ ΡΠΎΠΊΡΡΡ Π½Π΅ ΠΊΠΎΠ½ΡΠ°ΡΡΡΡ, Π΅ΡΠ»ΠΈ ΠΡ ΡΠ΅ΠΉΡΠ°Ρ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ°ΠΉΠ» rezultdyn, ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠΈΠ±ΠΊΡ:
ΠΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΄Π°Π΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ Π»ΠΈΠ½ΠΊΠΎΠ²ΡΠΈΠΊ. ΠΠ½ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ ΡΠ°ΠΉΠ» Π½Π°ΡΠ΅ΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ ΠΈΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π² ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ Π΅ΠΌΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡ , Π° Π½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π΅ΠΌΡ Π½Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½Π°. ΠΠΎ ΡΡΠΎ ΠΌΡ ΡΡΡΡ ΠΎΡΠ»ΠΎΠΆΠΈΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΉ Π²ΠΎΠΏΡΠΎΡ.
Π ΡΠ΅ΠΉΡΠ°Ρ ΡΡΠΎΠΈΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΡΡ Π΅ΡΠ΅ ΠΎΠ± ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. Π― ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π» Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ fsdyn, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° ΠΎΡΠ»ΠΈΡΠ°Π»Π°ΡΡ ΠΎΡ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ fs. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Ρ ΠΠ°Ρ Π΄Π²Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ Π½Π°Π·Π²Π°Π½ΠΈΡΠΌΠΈ, ΡΠΎ Π΅ΡΡΡ libfs.a ΠΈ libfs.so, ΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ.
ΠΡΠΎΡ ΡΡΡΠ΅ΠΊΡ Ρ Π½Π΅ ΡΠΌΠΎΠ³ ΠΏΠΎΠ±ΠΎΡΠΎΡΡ. ΠΠΎΡΡΠΎΠΌΡ Ρ ΠΏΡΠΈΡΠ΅Π» ΠΊ Π²ΡΠ²ΠΎΠ΄Ρ, ΡΡΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΡΡ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ. ΠΠ°Π΄Π΅ΡΡΡ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ ΠΌΡ Ρ ΠΠ°ΠΌΠΈ Π΅ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ Ρ ΡΡΠΎΠΉ Π·Π°Π³Π²ΠΎΠ·Π΄ΠΊΠΎΠΉ, Π½ΠΎ Π΅ΡΠ»ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ΅ ΡΠ°ΠΊ ΠΏΠ»ΠΎΡ ΠΎ, ΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π±ΡΠ΄Π΅Ρ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎ Π²Π΅ΡΠ½ΡΠΌ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
ΠΡΠ»ΠΈ ΠΏΡΠΎΠ³Π° ΡΠΊΠΎΠΌΠΏΠΈΠ»Π΅Π½Π½Π°Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π²ΡΠ΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ:
ΠΠ΅ΡΠ²Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ldd. ΠΠ½Π° Π²ΡΠ΄Π°Π΅Ρ Π½Π° ΡΠΊΡΠ°Π½ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΈ ΠΈΡ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π΅ΠΉ ΡΠΎΠΎΠ±ΡΠ°Π΅ΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ»Π΅Π΄ΡΠ΅ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π΅ Π΄Π»Ρ Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ rezultdyn:
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅ Π²ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ:
ΠΠ°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΎΠ½Π° Π½Π°ΠΉΡΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ. Π ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ! ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ Π»ΠΈΠ½ΠΊΠΎΠ²ΡΠΈΠΊ ΠΈΡΠ΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ Π΅ΠΌΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°Ρ , Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΅ΠΌΡ ΡΠ²Π½ΠΎ Π½Π΅ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π°ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ Π² ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ Π½Π°Π΄ΠΎ ΠΏΠΎΠ΄ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» /etc/ld.so.conf.
ΠΡΡΡΠ΅ Π·Π°ΠΊΠΈΠ½ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³-ΡΠ°ΠΉΠ» .conf Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ: /etc/ld.so.conf.d/
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΌΠ΅Π½Ρ ΡΡΠΎΡ ΡΠ°ΠΉΠ» ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΡΡΡΠΎΠΊ:
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ Π»ΠΈΠ½ΠΊΠΎΠ²ΡΠΈΠΊ Π±ΡΠ΄Π΅Ρ Π·Π½Π°ΡΡ Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π°Ρ ΡΠ°ΠΉΠ», Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ld.so.conf Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ°Π»Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π°Π½ΠΎΠ²ΠΎ. ΠΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ldconfig. ΠΡΠΎΠ±ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
ΠΠ°ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ π ΠΡΠ»ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ΄Π°Π»ΠΈΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΡ Π½Π°ΠΌΠΈ ΡΡΡΠΎΠΊΡ ΠΈ ΡΠ½ΠΎΠ²Π° Π·Π°ΠΏΡΡΡΠΈΡΡ ldconfig, ΡΠΎ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π°ΡΠ΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΡΡΠ΅Π·Π½ΡΡ ΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΠΆΠ΅ ΡΠ°ΠΌΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ°.
ΠΠ»Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ Π΅ΡΡΡ Π΄ΡΡΠ³ΠΎΠ΅ Π±Π΅Π·Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ LD_LIBRARY_PATH, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΡΡΡΡ Π²ΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ bash Π½Π°Π΄ΠΎ Π½Π°Π±ΡΠ°ΡΡ Π²ΡΠ΅Π³ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π΅ΡΡΡ Π»ΠΈ Ρ Π½Π°Ρ ΡΠ°ΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΡΠ΅Π΄Ρ:
Π£ ΠΌΠ΅Π½Ρ Π² ΠΎΡΠ²Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ°, ΠΎΠ·Π½Π°ΡΠ°ΡΡΠ°Ρ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ Π½Π΅Ρ. Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΎΠ½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° rezultdyn Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ. Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Ρ ΠΠ°Ρ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΡΠ΅Π΄Ρ ΡΠΆΠ΅ ΡΡΡΠ°Π²Π½ΠΎΠ²Π»Π΅Π½Π°, ΡΠΎ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΈΡΠΏΠΎΡΡΠΈΡΡ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π½Π°Π΄ΠΎ Π½ΠΎΠ²ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΡΠΈΠ±Π°Π²ΠΈΡΡ ΠΊ ΡΡΠ°ΡΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
ΠΡΠ»ΠΈ ΠΡ ΠΎΠ±Π½ΡΠ»ΠΈΡΠ΅ ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΡΠΎ ΡΠ½ΠΎΠ²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ:
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΉΡΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ΄ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΡΠ΅ΠΌ ΠΆΠ΅ ΡΠ°ΠΌΡΠΌ, Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΡ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ LD_LIBRARY_PATH, ΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π΅Π΅ ΠΏΡΠ΅ΠΆΠ½Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΄Π²Π° ΡΠ°Π·Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Linux Π½Π΅ ΠΌΠΎΠ³ΡΡ Π²Π»ΠΈΡΡΡ Π½Π° ΡΠ°Π±ΠΎΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°, Π° ΡΡΠΎ ΠΈ Π΅ΡΡΡ ΡΠ°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅ Ρ ΠΎΡΠΎΡΠ΅Π΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌ Unix ΠΎΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° Π΄ΡΡΠ³ΠΈΡ ΡΠΈΡΡΠ΅ΠΌ.
Π€ΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² Π½Π°ΡΠ°Π»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ, Π½ΠΎ ΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°ΠΌΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ Π»ΡΠ±ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° Π΅ΠΉ Π·Π°Ρ ΠΎΡΠ΅ΡΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΠ΅Π³ΠΎ-Π»ΠΈΡΡ Π½Π°Π΄ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ dl, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»ΠΈΠ½ΠΊΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ «Π½Π° Π»Π΅ΡΡ». ΠΠ½Π° ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠ· Π½ΠΈΡ ΠΈ Π²ΡΠ³ΡΡΠ·ΠΊΠΎΠΉ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠ½ΡΠ° ΡΠ°Π±ΠΎΡΡ.
ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠΉ ΡΠ°ΠΉΠ»:
Π§ΡΠΎΠ±Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ½Π°ΡΠ°Π»Π° Π½Π°Π΄ΠΎ ΠΎΡΠΊΡΡΡΡ ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ (ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ «Π·Π°Π³ΡΡΠ·ΠΈΡΡ»). ΠΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΎΠ½Π° ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ:
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ filename ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΡΡ Π΄ΠΎ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ flag Π·Π°Π΄Π°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ»Π°Π³ΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ. Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ. Π ΡΠ»ΡΡΠ°Π΅ Π»ΡΠ±ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ NULL. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ dlerror(). ΠΠΎΠΊΠ° ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ Π·Π°Π΄ΡΠΌΡΠ²Π°ΡΡΡΡ Π½Π°Π΄ ΡΡΠΈΠΌ, ΠΈ Ρ ΠΏΡΠΈΠ²Π΅Π΄Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΎΡΠΊΡΡΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ:
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ. Π ΡΠ°Π±ΠΎΡΠ° ΡΡΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ Π°Π΄ΡΠ΅ΡΠ° ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΠΎΠ»ΡΡΠΈΡΡ Π°Π΄ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ Π΅Π΅ ΠΈΠΌΠ΅Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ:
ΠΠ»Ρ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π°Π΄ΡΠ΅Ρ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ handle, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΏΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ dlopen(). Π’ΡΠ΅Π±ΡΠ΅ΠΌΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π·Π°Π΄Π°Π΅ΡΡΡ ΡΠ²ΠΎΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ symbol.
ΠΠ°ΠΊΡΡΠ²Π°Π΅ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ:
ΠΡΠΈ Π·Π°ΠΊΡΡΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ Π»ΠΈΠ½ΠΊΠΎΠ²ΡΠΈΠΊ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΡΠ΅ΡΡΠΈΠΊ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΎΡΠΊΡΡΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΈ Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π±ΡΠ»Π° ΠΎΡΠΊΡΡΡΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΡΠΎ ΠΎΠ½Π° Π½Π΅ Π²ΡΠ³ΡΡΠΆΠ°Π΅ΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π²ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ Π·Π°ΠΊΡΠΎΡΡ ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ.
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎ Π±ΡΠ΄ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π² ΡΡΠ΅ΠΏΠ΅Π½Ρ. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ½Π°ΡΠ°Π»Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ. ΠΠΈΡΠ΅ΠΌ Π΅Π΅ ΠΊΠΎΠ΄:
Π‘ΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ Π΅Π³ΠΎ Π² ΡΠ°ΠΉΠ» lib.c ΠΈ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ libpowers.so ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ:
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΡΠ°ΠΉΠ»Π΅ main.c:
ΠΠΎΠ΄ Π³Π»Π°Π²Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π³ΠΎΡΠΎΠ². Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ Π΅Π³ΠΎ ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ dl:
ΠΠΎΠ»ΡΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΡΠ°ΠΉΠ» main, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ. ΠΠ°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΎΠ·Π²ΠΎΠ΄ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 3.0 Π² ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ Π½Π°ΠΌΠΈ ΡΡΠ΅ΠΏΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°Π΄Π°Π΅ΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ:
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
ΠΠ±Π½ΠΎΠ²Π». 15 Π‘Π΅Π½ 2021 |
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° β ΡΡΠΎ Β«ΡΠ±ΠΎΡΠ½ΠΈΠΊΒ» ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ°ΠΌΡΡ ΡΠ°Π·Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ . ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π² ΡΠ·ΡΠΊΠ΅ C++ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ ΡΠ°ΡΡΠ΅ΠΉ:
ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠΉ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ», ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°Π·Π±ΠΈΡΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ/ΠΈΠ»ΠΈ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
Π’ΠΈΠΏΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΡΡ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΈΡ ΠΊΠΎΠ΄ ΡΠ΅Π΄ΠΊΠΎ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ. ΠΡΠ»ΠΎ Π±Ρ Π½Π°ΠΏΡΠ°ΡΠ½ΠΎΠΉ ΡΡΠ°ΡΠΎΠΉ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΈ Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π² Π½ΠΎΠ²ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. ΠΠΎ-Π²ΡΠΎΡΡΡ , ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Π΅ΡΡ ΠΊΠΎΠ΄ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΡΠ·ΡΠΊ, ΡΠΎ ΡΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ (ΠΈ Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅) ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌΠΈ Π»ΠΈΡΠ°ΠΌΠΈ. ΠΡΠΎΡ ΠΏΡΠ½ΠΊΡ Π²Π°ΠΆΠ΅Π½ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΉ/Π»ΡΠ΄Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Ρ ΠΎΡΡΡ, ΡΡΠΎΠ±Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΈΡ ΡΡΡΠ΄Π° (ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄) Π±ΡΠ» Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π²ΡΠ΅ΠΌ.
ΠΡΡΡ 2 ΡΠΈΠΏΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ: ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅.
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° (ΠΈΠ»ΠΈ Β«Π°ΡΡ ΠΈΠ²Β») ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΡΡΡΡ ΠΈ Π»ΠΈΠ½ΠΊΡΡΡΡΡ Ρ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ. ΠΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, Π²Π΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ (ΡΠΎΡ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°) ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ°ΡΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. Π Windows ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠΌΠ΅ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ .lib (ΡΠΎΠΊΡ. ΠΎΡ Β«libraryΒ»), ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π² Linux ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠΌΠ΅ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ .a (ΡΠΎΠΊΡ. ΠΎΡ Β«archiveΒ»).
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΠΈΡΡ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ 1 (ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ) ΡΠ°ΠΉΠ», ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΡΠ°ΡΡΡΡ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Ρ ΡΠ²ΠΎΠ΅ΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠΏΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ°ΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Π°ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΡΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ°ΠΉΠ»Π°. Π’Π°ΠΊΠΆΠ΅, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ.
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° (ΠΈΠ»ΠΈ Β«ΠΎΠ±ΡΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Β») ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄Π³ΡΡΠΆΠ°ΡΡΡΡ Π² Π²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, ΡΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ°ΡΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° β ΠΎΠ½Π° ββΡΠ°ΠΊ ΠΈ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ. Π Windows Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠΌΠ΅ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ .dll (ΡΠΎΠΊΡ. ΠΎΡ Β«dynamic link libraryΒ»), ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π² Linux Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠΌΠ΅ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ .so (ΡΠΎΠΊΡ. ΠΎΡ Β«shared objectΒ»). ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΡΠ°Π·Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½Ρ ΠΊΠΎΠΏΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ. ΠΡΠ΅ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ββΠ΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π²ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π΅ Π»ΠΈΠ½ΠΊΡΡΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Ρ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ, ΡΠΎ Π²Π°ΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²Π½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ. ΠΡΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ½ΡΡΠ΅Π½ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ², ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΡΡΡΠ΄Π½ΠΈΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ. ΠΠ»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠΌΠΏΠΎΡΡΠ°.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΡΠΆΠ΅ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΠΈΡΡ Ρ ΡΠΈΠΏΠ°ΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π½Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ . Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π² ΡΠ·ΡΠΊΠ΅ C++ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ΅ΡΡΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°Π³ΠΎΠ²:
Π¨Π°Π³ β2: Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ. Π Linux ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ Π²ΡΠ·ΠΎΠ²Π° ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π° Π΄Π°Π»ΡΡΠ΅ ΠΎΠ½ Π²ΡΡ Π΄Π΅Π»Π°Π΅Ρ ΡΠ°ΠΌ. Π Windows Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠ°Π·Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π² Π»ΡΠ±ΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ Π²Π°ΠΌΠΈ ΠΏΠ°ΠΏΠΊΡ. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Ρ ΡΠ°Π½ΠΈΡΡ Π²ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π½ΠΈΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΠ°ΠΏΠΊΡ Libs ( C:\Libs ) ΠΈ Π²ΡΠ΄Π΅Π»ΡΠΉΡΠ΅ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π²Π°ΠΌΠΈ) Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ²ΠΎΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π°, ββΠΈ Π²Π°ΡΠ° IDE Π·Π½Π°Π΅Ρ, Π³Π΄Π΅ ΠΈΡΠΊΠ°ΡΡ Π΅Ρ ΡΠ°ΠΉΠ»Ρ, ΡΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π² Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ , Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ 3 ΡΠ°Π³Π°:
Π¨Π°Π³ β5: ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠΌΠΏΠΎΡΡΠ°, ΡΠΎΠΎΠ±ΡΠΈΡΠ΅ Π»ΠΈΠ½ΠΊΠ΅ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½ΡΠΆΠ½ΠΎ ΡΠ²ΡΠ·Π°ΡΡ Ρ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ.
Π¨Π°Π³ β6: ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π¨Π°Π³ΠΈ β3-β5 Π²ΠΊΠ»ΡΡΠ°ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ Π²Π°ΡΠ΅ΠΉ IDE. Π ΡΡΠ°ΡΡΡΡ, ΠΏΠΎΡΡΠΈ Π²ΡΠ΅ IDE ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ, ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ Π·Π°Π΄Π°Ρ. ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠ°Π³ΠΈ Π² Visual Studio.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Π² ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΡΡ :
A.1 β Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° β ΡΡΠΎ ΠΏΠ°ΠΊΠ΅Ρ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ. ΠΠ±ΡΡΠ½ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° C++ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ ΡΠ°ΡΡΠ΅ΠΉ:
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Ρ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ/ΠΈΠ»ΠΈ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ².
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Ρ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΌΠ΅Π½ΡΡΡΡΡ ΡΠ΅Π΄ΠΊΠΎ, ΠΈΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ. ΠΡΠ»ΠΎ Π±Ρ ΠΏΡΡΡΠΎΠΉ ΡΡΠ°ΡΠΎΠΉ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΈΡΠ΅ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ. ΠΠΎ-Π²ΡΠΎΡΡΡ , ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π»ΡΠ΄ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π΅Π³ΠΎ, ΡΡΠΎ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΉ ΠΈΠ»ΠΈ Π»ΡΠ΄Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Ρ ΠΎΡΡΡ Π΄Π΅Π»Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ ΠΈΠ· ΡΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΡΠΈΠΏΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ: ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π΅ ΡΠ²ΡΠ·Π°Π½Ρ Ρ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²Π½ΠΎ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ. ΠΡΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΡΠ±ΠΈΠ²Π°ΡΡ Ρ ΡΠΎΠ»ΠΊΡ ΠΈ Π·Π°ΡΡΡΠ΄Π½ΡΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ. Π§ΡΠΎΠ±Ρ ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΈΠΌΠΏΠΎΡΡΠ°.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π·Π½Π°Π΅ΡΠ΅ ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π² Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π° C++ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· 4 ΡΠ°Π³ΠΎΠ²:
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π°, ββΠΈ ΡΡΠ΅Π΄Π° IDE Π·Π½Π°Π΅Ρ, Π³Π΄Π΅ Π΅Π΅ ΠΈΡΠΊΠ°ΡΡ, ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ 3 ΡΠ°Π³Π° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΠΎΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ:
Π¨Π°Π³ΠΈ 3-5 Π²ΠΊΠ»ΡΡΠ°ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ Π²Π°ΡΠ΅ΠΉ IDE β ΠΊ ΡΡΠ°ΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΈΡ Π²Π΅ΡΠ΅ΠΉ, ΠΏΠΎΡΡΠΈ Π²ΡΠ΅ IDE ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΠ΅Π΄Π° IDE ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΡΠ°ΠΌΠ°Ρ ΡΠ»ΠΎΠΆΠ½Π°Ρ ΡΠ°ΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° β ΠΏΡΠΎΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΡΡΠΈΡ ΡΠ°Π³ΠΎΠ². Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΠΎΠΊΠ°Ρ ΡΡΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π° ΠΌΡ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π²ΡΠ΅ ΡΡΠΈ ΡΠ°Π³ΠΈ ΠΊΠ°ΠΊ Π΄Π»Ρ Visual Studio, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ Code::Blocks. ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π΄ΡΡΠ³ΡΡ IDE, ΠΏΡΠΎΡΡΠΈΡΠ΅ ΠΎΠ±Π° ΡΡΠΎΠΊΠ° β ΠΊ ΡΠΎΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΠ΅, Ρ Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Ρ Π²Π°ΡΠ΅ΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ IDE ΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ Π³ΡΠ³Π»Π΅Π½ΠΈΠ΅ΠΌ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ DLL
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΡΡΠ»ΠΎΠΊ (DLL) ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ DLLs. Π Π½Π΅ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΠΈΡΠ°Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ DLLs.
ΠΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊ: Windows 10 β Π²ΡΠ΅ Π²ΡΠΏΡΡΠΊΠΈ
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ ΠΠ: 815065
Π‘Π²ΠΎΠ΄ΠΊΠ°
Π ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ DLL, Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ²ΡΠ·ΠΈ, Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ DLL, ΡΠΎΡΠΊΠΈ Π²Ρ ΠΎΠ΄Π° DLL, ΡΠΊΡΠΏΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ DLL ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ DLL.
ΠΠ»Ρ Windows ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ DLL. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Windows ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° DLLs. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ Π² DLLs.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ DLLs ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°, ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ Π±ΡΡΡΡΠ΅Π΅, ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±ΡΡΡΡΠ΅Π΅ ΠΈ ΠΌΠ΅Π½ΡΡΠ΅ ΠΌΠ΅ΡΡΠ° Π½Π° Π΄ΠΈΡΠΊΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅.
ΠΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ DLL, ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠ°Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΡ, ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ DLL, ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ. ΠΡΠ»ΠΈ Π΄ΡΡΠ³Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠ΅ΡΠ΅ΠΎΠΏΠΈΡΠ°Π΅Ρ ΠΈ Π½Π°ΡΡΡΠ°Π΅Ρ ΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ, ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡΡ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
DLL β ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠ΄ ΠΈ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Windows ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ DLL Comdlg32 Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠ±ΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ. ΠΠ°ΠΆΠ΄Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ΡΡ Π² ΡΡΠΎΠΌ DLL, Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ. ΠΡΠΎ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ DLL ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠΉ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΡ Π³Π°Π»ΡΠ΅ΡΡΠΊΠΎΠ³ΠΎ ΡΡΠ΅ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠ΄Π°Π½Π° ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°, Π΅ΡΠ»ΠΈ ΡΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌΠΈ, Π²ΡΠ΅ΠΌΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±ΡΡΡΡΠ΅Π΅. ΠΠΎΠ΄ΡΠ»Ρ Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π»Π΅Π³ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΌΠΎΠ΄ΡΠ»Π΅, Π½Π΅ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π²Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°ΡΠ°Π±ΠΎΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡ, ΠΈ Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠ΅ ΡΡΠ°Π²ΠΊΠΈ ΠΌΠ΅Π½ΡΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π³ΠΎΠ΄. ΠΡΠ»ΠΈ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Ρ Π² DLL, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅, Π½Π΅ Π½ΡΠΆΠ΄Π°ΡΡΡ Π² ΡΠ±ΠΎΡΠΊΠ΅ ΠΈΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π²ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ½ΠΎΠ²Π°.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠΏΠΈΡΠΊΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠ°ΠΊ DLLs Π² Windows ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ :
ActiveX Π€Π°ΠΉΠ»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ (.ocx)
ΠΡΠΈΠΌΠ΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ActiveX β ΡΡΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡ Π΄Π°ΡΡ ΠΈΠ· ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ.
Π€Π°ΠΉΠ»Ρ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ (.cpl)
Π€Π°ΠΉΠ»Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΡΡΡΡΠΎΠΉΡΡΠ²Π° (drv)
ΠΡΠΈΠΌΠ΅Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΡΡΡΡΠΎΠΉΡΡΠ²Π° β ΡΡΠΎ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΏΡΠΈΠ½ΡΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ°ΡΡΡ Π½Π° ΠΏΡΠΈΠ½ΡΠ΅ΡΠ΅.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° DLL
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠΏΠΈΡΠΊΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ DLL:
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ²
ΠΡΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡ ΠΆΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΡΡΠ½ΠΊΡΠΈΠΉ, DLL ΠΌΠΎΠΆΠ΅Ρ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ Π½Π° Π΄ΠΈΡΠΊ ΠΈ Π² ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π·Π°ΠΏΡΡΠ΅Π½Π½ΠΎΠΉ Π½Π° ΠΏΠ΅ΡΠ΅Π΄Π½Π΅ΠΌ ΠΏΠ»Π°Π½Π΅, Π½ΠΎ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Π½Π° Windows ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅.
ΠΡΠΎΠ΄Π²ΠΈΠ³Π°Π΅Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ
DLL ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΊΡΡΠΏΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ΅Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ·ΡΠΊΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΠΉ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ. ΠΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ β ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΡΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°.
ΠΠ±Π»Π΅Π³ΡΠ°Π΅Ρ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ
ΠΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π² DLL ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° DLL Π½Π΅ ΡΡΠ΅Π±ΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ DLL. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ DLL, Π²ΡΠ΅ ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π²ΡΠ³ΠΎΠ΄Ρ ΠΎΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΡΠ°ΡΠ΅ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠΎΡΠΎΠ½Π½Π΅Π΅ DLL, ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ.
ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ DLL
ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΠ»ΠΈ DLL ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ DLL Π² Π΄ΡΡΠ³ΠΎΠΉ DLL, ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΠΉ, ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ»ΠΎΠΌΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Ρ Π½Π΅Π΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ:
ΠΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°ΠΌΠΈ DLL. ΠΡΠ»ΠΈ ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Π½Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠΏΠΈΡΠΊΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ Π² Windows 2000 Π³. ΠΈ Π² Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΡ Windows ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , ΡΡΠΎΠ±Ρ ΡΠ²Π΅ΡΡΠΈ ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
Windows ΠΠ°ΡΠΈΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ²
Π Windows Π·Π°ΡΠΈΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ DLLs Π½Π΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ Π°Π³Π΅Π½ΡΠΎΠΌ. ΠΠΎΠ³Π΄Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ DLL, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΡ ΠΊΠ°ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ° DLL, Windows ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ Π·Π°ΡΠΈΡΡ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΊΠ°ΡΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ ΡΠΈΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ.
Π‘ΡΠ΅Π΄ΡΡΠ²Π° ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ DLL
ΠΠ»Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ DLL Π΄ΠΎΡΡΡΠΏΠ½Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅Π΄ΡΡΠ². ΠΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΡΠΈΡ ΡΡΠ΅Π΄ΡΡΠ².
Π£ΠΎΠΊΠ΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
Π‘ΡΠ΅Π΄ΡΡΠ²ΠΎ Π£ΠΎΠΊΠ΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ DLLs, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ. ΠΡΠΈ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π² «Π£ΠΎΠ»ΠΊΠ΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ» ΡΠΎΠ»ΠΊΠ΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Π΄Π΅Π»Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ:
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π£ΠΎΠ»ΠΊΠ΅ΡΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ DLLs, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ ΠΈ ΡΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ DLL, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Visual Studio 6.0 ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Dependency Walker.
drive\Program Files\Microsoft Visual Studio\Common\Tools
Π£Π½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ DLL
Π‘ΡΠ΅Π΄ΡΡΠ²ΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ DLL (DUPS) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π°ΡΠ΄ΠΈΡΠ°, ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ, Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ DLL. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠΏΠΈΡΠΊΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΡΡΠΈΠ»ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ DUPS:
ΠΡΠ° ΡΡΠΈΠ»ΠΈΡΠ° ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅Ρ Π²ΡΠ΅ DLLs Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅Ρ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ»Π΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
ΠΡΠ° ΡΡΠΈΠ»ΠΈΡΠ° ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ DLLs, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π² Π΄Π²ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΠ°ΠΉΠ»Π°Ρ , ΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΡΠ΅ΡΠΈΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ», ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΠ°Π·Π»ΠΈΡΠΈΡ.
ΠΡΠ° ΡΡΠΈΠ»ΠΈΡΠ° Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Dlister.exe ΠΈ Dcomp.exe Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ dllHell.
ΠΡΠ° ΡΡΠΈΠ»ΠΈΡΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ (GUI) Π²Π΅ΡΡΠΈΠΈ Dtxt2DB.exe ΡΡΠΈΠ»ΠΈΡΡ.
ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ ΡΠΏΡΠ°Π²ΠΊΠΈ DLL
ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ ΡΠΏΡΠ°Π²ΠΊΠΈ ΠΏΠΎ DLL ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ Π½Π°ΠΉΡΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ DLLs, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΠ°ΠΉΠΊΡΠΎΡΠΎΡΡ.
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° DLL
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ DLLs.
Π’ΠΈΠΏΡ DLLs
ΠΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ DLL Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΄Π²Π° ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΡ ΡΠ°Π·ΡΠ΅ΡΠ°Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΡ DLL. ΠΠ²Π° ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΡ β Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ²ΡΠ·Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ.
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠΈ
Π Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π΅Π»Π°Π΅Ρ ΡΠ²Π½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ Π΄Π»Ρ ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΠΉ DLL-ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ, ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ ΡΡΡΠ»ΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ΅ΡΠ΅ΠΆΠ΅ΡΠ΅ ΡΠ°ΠΉΠ» (.h) ΠΈ ΡΠ°ΠΉΠ» ΠΈΠΌΠΏΠΎΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ (.lib). ΠΡΠΈ ΡΡΠΎΠΌ linker ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ DLL ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠΎΡΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ DLL Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ.
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ
ΠΡΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ LoadLibrary LoadLibraryEx DLL Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°. ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ DLL Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π°Π΄ΡΠ΅ΡΠ° ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ GetProcAddress DLL, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ·Π²Π°ΡΡ. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ° Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ°ΠΉΠ» Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠΌΠΏΠΎΡΡΠ°.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠΏΠΈΡΠΊΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΡΠ»ΠΈ Π²Π°ΠΆΠ½Π° Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΡΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΡ ΠΊ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
Π Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ²ΡΠ·ΡΡ Ρ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ ΡΠΊΡΠΏΠΎΡΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ DLL ΠΏΠΎΡ ΠΎΠΆΠΈ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ Π²ΡΠ·ΠΎΠ² ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΡΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²Π΅ΡΠ²Ρ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΡΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡΠ·ΡΡΠ½ΡΡ Π²Π΅ΡΡΠΈΠΉ.
Π’ΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄Π° Π² DLL
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ DLL ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΡΠΊΠΈ Π²Ρ ΠΎΠ΄Π°. Π€ΡΠ½ΠΊΡΠΈΡ ΡΠΎΡΠΊΠΈ Π²Ρ ΠΎΠ΄Π° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΡΠΎΠΊΠΈ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ ΠΊ DLL ΠΈΠ»ΠΈ ΠΎΡΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ ΠΎΡ DLL. Π€ΡΠ½ΠΊΡΠΈΡ ΡΠΎΡΠΊΠΈ Π²Ρ ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ Π΄Π»Ρ ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠ°ΠΊ ΡΠΎΠ³ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ DLL. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠ² (TLS) Π΄Π»Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π°ΠΊΡΡΡΠΎΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ° Π² ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΡΠΊΠΈ Π²Ρ ΠΎΠ΄Π°. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΡΠΊΠΈ Π²Ρ ΠΎΠ΄Π° DLL.
ΠΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΡΠΊΠΈ Π²Ρ ΠΎΠ΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ FALSE, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΡΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠΈ. ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π·Π°ΠΏΡΡΠΊΠ°, Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ DLL Π½Π΅ Π±ΡΠ΄Π΅Ρ.
Π€ΡΠ½ΠΊΡΠΈΡ ΡΠΎΡΠΊΠΈ Π²Ρ ΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠ·ΡΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ»ΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ DLL. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΡΠΊΠΈ Π²Ρ ΠΎΠ΄Π° Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΡΠΌΠΎ ΠΈΠ»ΠΈ ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ LoadLibrary ΠΈΠ»ΠΈ LoadLibraryEx ΡΡΠ½ΠΊΡΠΈΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ FreeLibrary ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΡΠ΅ΡΡ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ.
Π ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π΄ΠΎΡΡΡΠΏ ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌ Π΄Π°Π½Π½ΡΠΌ DLL ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ (Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ ΠΏΠΎΡΠΎΠΊ), ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ . ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ TLS Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°.
ΠΠΊΡΠΏΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ DLL
Π§ΡΠΎΠ±Ρ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ DLL, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΡ DLL ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ (.def), Π² ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ ΡΠΊΡΠΏΠΎΡΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ DLL.
Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ:
__declspec(dllexport)
Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ DLL Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΌΡ ΡΠ»ΠΎΠ²Ρ: __declspec(dllimport)
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π΄Π»Ρ ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΊΡΠΏΠΎΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» Π·Π°Π³ΠΎΠ½Π°, Π² ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π°ΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ ifdef import Π·Π°ΡΠ²Π»Π΅Π½ΠΈΠ΅.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΠΊΡΠΏΠΎΡΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ DLL. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°ΠΉΠ»Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊ ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ DLL. Π ΡΠ°ΠΉΠ»Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π°ΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ LIBRARY EXPORTS ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π΄Π»Ρ DLL. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ β ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅Ρ DLL ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
Π Visual C++ 6.0 ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ DLL, Π²ΡΠ±ΡΠ°Π² ΡΠΈΠΏ ΠΏΡΠΎΠ΅ΠΊΡΠ° Win32 Dynamic-Link Library ΠΈΠ»ΠΈ ΡΠΈΠΏ MFC AppWizard (dll).
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ β ΠΏΡΠΈΠΌΠ΅Ρ DLL, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π² Visual C++ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΏΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° Win32 Dynamic-Link Library.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ β ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Win32, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΡ DLL Π² DLL SampleDLL.
ΠΡΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ²ΡΠ·Π°ΡΡ ΠΈΠΌΠΏΠΎΡΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ SampleDLL.lib, ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° SampleDLL.
ΠΡΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠ΄, Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΊΠΎΠ΄Ρ, Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° SampleDLL.dll ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ DLL.
ΠΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ ΡΡΡΠ»ΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ SampleDLL ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ Windows ΠΈΡΠ΅Ρ DLL SampleDLL Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Π² ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅:
ΠΠ°ΠΏΠΊΠ° Windows ΡΠΈΡΡΠ΅ΠΌΡ
Π€ΡΠ½ΠΊΡΠΈΡ GetSystemDirectory Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΡΡΡ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ Windows ΡΠΈΡΡΠ΅ΠΌΡ.
Π€ΡΠ½ΠΊΡΠΈΡ GetWindowsDirectory Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΡΡΡ Windows ΠΏΠ°ΠΏΠΊΠΈ.
Π€Π°ΠΉΠ» ΡΠ±ΠΎΡΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ ΡΠ±ΠΎΡΠΊΠΈ, ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΡΠΈΠΏΠ°, ΠΊΠΎΠ΄ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Microsoft (MSIL) ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅ΡΡΡΡΡ. ΠΠ°Π½ΠΈΡΠ΅ΡΡ ΡΠ±ΠΎΡΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ. Π ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ ΡΠ±ΠΎΡΠΊΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ:
ΠΠΎΠ΄ MSIL, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉΡΡ Π² ΡΠ±ΠΎΡΠΊΠ΅, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π°ΠΏΡΡΠΌΡΡ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° MSIL ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ CLR. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ±ΠΎΡΠΊΠΈ ΡΠ±ΠΎΡΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π°ΠΊΡΡΡΠΎΠΉ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΉ ΡΠ±ΠΎΡΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°Π·Π½Π°ΡΠΈΡΡ ΡΠ±ΠΎΡΠΊΠ΅ ΡΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ, Π° Π·Π°ΡΠ΅ΠΌ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΡΠ±ΠΎΡΠΊΡ Π² ΠΊΡΡΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠΏΠΈΡΠΊΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ DLLs Win32:
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ±ΠΎΡΠΊΠΈ Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π²ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ clR Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ±ΠΎΡΠΊΠΈ. ΠΠ°Π½ΠΈΡΠ΅ΡΡ ΡΠ±ΠΎΡΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΏΠΈΡΠΎΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΡΠ±ΠΎΡΠΎΠΊ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, CLR ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠ±ΠΎΡΠΎΠΊ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π DLL Win32 Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π°Π±ΠΎΡΠΎΠΌ DLLs, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠ±ΡΠΈΡ DLLs.
Π ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π²Π΅ΡΡΠΈΡΡ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ clR. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π²Π΅ΡΡΠΈΠΉ ΠΌΠΎΠ³ΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ. Π DLL Win32 Π²Π΅ΡΡΠΈΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ DLLs ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡ Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ.
Π Π°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ Π±ΠΎΠΊ ΠΎ Π±ΠΎΠΊ
Π‘Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ Π±ΠΎΠΊ ΠΎ Π±ΠΎΠΊ. ΠΠ΄Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½Ρ Π²Π΅ΡΡΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ, Π° Π΄ΡΡΠ³ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ. ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Windows 2000 Π³. ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ DLLs Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Windows Π·Π°ΡΠΈΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌΡΡ ΠΈΠ»ΠΈ Π·Π°ΠΌΠ΅Π½Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ DLLs Π½Π΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ Π°Π³Π΅Π½ΡΠΎΠΌ.
Π‘Π°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΈΠ·ΠΎΠ»ΡΡΠΈΡ
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ±ΠΎΡΠΊΠΈ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΠΌ ΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Ρ Π½ΡΠ»Π΅Π²ΡΠΌ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΠΌ.
Π‘Π±ΠΎΡΠΊΠ° Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΏΠΎΠ΄ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΡΡΡΡ clR.