ΠΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ ΠΈ Π‘++
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π²Π°ΠΌ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡΠΎΠΌ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊΠΎΠΌ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅. ΠΡΠ΅ΡΠ΅Π΄Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΠ΅ ΠΏΡΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ Π΄Π²ΠΎΠΈΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π½Π° C++ ΠΏΠΎΡΠ²ΠΈΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ (encapsulation), ΡΠΎ Π΅ΡΡΡ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ°. ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ, Π΅ΡΠ»ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ°Ρ FastString Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π²ΠΎΠ·ΡΠΌΠ΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π΅Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌΠΎΠ΅: Π·Π°ΠΊΠΎΠ½ΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π° Π΄Π²Π° ΠΌΠ΅ΡΡΡΠ° Π΄ΠΎ ΡΡΠΎΠΊΠ° ΡΠ°ΡΡΡΠ»ΠΊΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°. ΠΡΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΈΡ Π΄Π²ΡΡ ΠΌΠ΅ΡΡΡΠ΅Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΊΠ΅ΠΏΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ O(1) -ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ FastString , Π·Π°ΠΏΡΡΡΠΈΠ² ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π ΠΈΡ Π±ΠΎΠ»ΡΡΠΎΠΌΡ ΡΠ΄ΠΈΠ²Π»Π΅Π½ΠΈΡ, FastString::Find ΡΡΠ°Π»Π° Π±Ρ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Length Π΄Π΅Π»ΠΎ ΠΎΠ±ΡΡΠΎΠΈΡ Π½Π΅ ΡΡΠΎΠ»Ρ Ρ ΠΎΡΠΎΡΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ FastString::Length ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ strlen ΠΈΠ· Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π‘. ΠΡΠ° ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° β Π°Π»Π³ΠΎΡΠΈΡΠΌ O(n)β ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΊΠΎΠ½ΡΠ° ΡΡΡΠΎΠΊΠΈ (null terminator); ΡΠΊΠΎΡΠΎΡΡΡ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»ΡΠ½Π° Π΄Π»ΠΈΠ½Π΅ ΡΡΡΠΎΠΊΠΈ. Π‘ΡΠΎΠ»ΠΊΠ½ΡΠ²ΡΠΈΡΡ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Length, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΡΠΊΠ΅ΠΏΡΠΈΠΊΠΎΠ², ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΡΠ²ΡΠΆΠ΅ΡΡΡ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΠΏΠΎΠΏΡΠΎΡΠΈΡ Π΅Π³ΠΎ ΡΠ±ΡΡΡΡΠΈΡΡ Length, ΡΡΠΎΠ±Ρ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ Π·Π°Π²ΠΈΡΠ΅Π»Π° ΠΎΡ Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊΠΈ. ΠΠΎ Π·Π΄Π΅ΡΡ Π΅ΡΡΡ ΠΎΠ΄Π½ΠΎ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΠ΅. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠΆΠ΅ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ» ΡΠ²ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π½Π΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ ΠΌΠ΅Π½ΡΡΡ ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΡΡΠΎΠ±Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌΠΈ ΡΠ»ΡΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Length. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠΆΠ΅ Π²ΡΠΏΡΡΡΠΈΠ»ΠΈ ΡΠ²ΠΎΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΡ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π° ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ FastString, ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠΎΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ°Π²Π° ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½Π½Ρ.
Π‘ ΡΡΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° FastString ΠΈ ΡΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈ ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ, ΡΡΠΎΠ±Ρ ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½Π°Ρ Π±Π°Π·Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π»Π°. Π ΡΡΠ°ΡΡΡΡ, ΠΊΠ»Π°ΡΡ FastString Π±ΡΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Ρ ΡΡΠ΅ΡΠΎΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΠΈ, ΠΈ Π²ΡΠ΅ Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π°Π½Π½ΡΡ (data members ) ΡΠ²Π»ΡΡΡΡΡ Π·Π°ΠΊΡΡΡΡΠΌΠΈ (private ). ΠΡΠΎ ΠΏΡΠΈΠ΄Π°Π΅Ρ ΠΊΠ»Π°ΡΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ Π³ΠΈΠ±ΠΊΠΎΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½ΠΈ ΠΎΠ΄Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ Π΄Π°Π½Π½ΡΡ FastString. Π ΡΠΈΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ΅ΡΡΡΠ΅ΠΌ ΠΎΡΠΊΡΡΡΡΠΌ (public ) ΡΠ»Π΅Π½Π°ΠΌ ΠΊΠ»Π°ΡΡΠ° Π½Π΅ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΡΠΎ ΠΈ Π² Π»ΡΠ±ΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ. ΠΠΎΠΎΡΡΠΆΠΈΠ²ΡΠΈΡΡ ΡΡΠΎΠΉ Π²Π΅ΡΠΎΠΉ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ FastString Π²Π΅ΡΡΠΈΠΈ 2.0.
ΠΡΠ΅Π²ΠΈΠ΄Π½ΡΠΌ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅: Π² ΡΠ΅ΠΊΡΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° (constructor ) Π·Π°Π½Π΅ΡΡΠΈ Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊΠΈ Π² ΠΊΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π»ΠΈΠ½Ρ Π² Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° Length . Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ, Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ, ΡΡΠΎ Π΅Π΅ Π΄Π»ΠΈΠ½Π° Π±ΡΠ΄Π΅Ρ Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ. Π Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π»ΠΈΠ½Π° ΡΠΆΠ΅ ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ Π²ΡΡΠΈΡΠ»Π΅Π½Π° Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅ ΠΏΡΠΈ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ Π±ΡΡΠ΅ΡΠ°, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π³ΠΎΡΡΡΠΊΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ. ΠΠΎΡ ΠΊΠ°ΠΊΠΈΠΌ Π±ΡΠ΄Π΅Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ°:
// faststring.h version 2.0
class declspec(dllexport) FastString {
const int mcch;
// count of characters
// ΡΠΈΡΠ»ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
char mpsz;
public:
FastString(const char *psz);
~FastString(void);
int Length(void) const;
// returns # of characters
// Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΈΡΠ»ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
int Find(const char *psz) const;
// returns offset β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅
};
ΠΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΊΡΡΡΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΄Π°Π½Π½ΡΡ . Π§ΡΠΎΠ±Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
FastString::FastString(const char *psz) : mcch(strlen(psz)), mpsz(new char[mcch + 1])
{
strcpy(mpsz, psz);
}
Π‘ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ ΠΌΠ΅ΡΠΎΠ΄ Length ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΡΠΌ:
int FastString::Length(void) const
{
return mcch;
// return cached length
// Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΡΡΡΡΡ Π΄Π»ΠΈΠ½Ρ
}
Π‘Π΄Π΅Π»Π°Π² ΡΡΠΈ ΡΡΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠΈΡΡ DLL FastString ΠΈ ΡΠΎΠΏΡΡΡΡΠ²ΡΡΡΠΈΠΉ Π΅ΠΉ Π½Π°Π±ΠΎΡ ΡΠ΅ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π°ΡΠΏΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° FastString . Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΡΡΠ½ΠΎ ΡΠ΄ΠΈΠ²Π»Π΅Π½, ΡΠ·Π½Π°Π², ΡΡΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΠΈ ΠΎΠ±ΠΎΡΠ΅Π»ΡΡ Π΅ΠΌΡ Π΄Π΅ΡΠ΅Π²ΠΎ, ΠΈ Π² ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ΅ΠΊΡΡΠ°Ρ ΡΠ΅ΡΡΠΎΠ² Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΠ»ΠΎΡΡ Π΄Π΅Π»Π°ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΠΎΡΠ»Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΠ³ΠΎ. ΡΡΠΎ Π½ΠΎΠ²Π°Ρ DLL ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΎΡΡΡΠ»Π°Π΅Ρ FastString Π²Π΅ΡΡΠΈΠΈ 2.0 ΠΊΠ»ΠΈΠ΅Π½ΡΡ, Π±ΡΠ΄ΡΡΠΈ ΡΠ²Π΅ΡΠ΅Π½Π½ΡΠΌ, ΡΡΠΎ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ° Π·Π°Π²Π΅ΡΡΠ΅Π½Π°.
ΠΠΎΠ³Π΄Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡ, Π·Π°ΠΊΠ°Π·Π°Π²ΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ FastString , ΠΎΠ½ΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° ΠΈ DLL Π² ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΈ ΡΠ»ΡΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ FastString . ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΎΠ½ΠΈ ΡΠΎΠΆΠ΅ ΠΏΡΠΈΡΡΠ½ΠΎ ΡΠ΄ΠΈΠ²Π»Π΅Π½Ρ: Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌΠΈ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Length , Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ΄ΠΎΡ Π½ΠΎΠ²Π»Π΅Π½Π½Π°Ρ ΡΡΠΈΠΌ ΠΎΠΏΡΡΠΎΠΌ, ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΠ±Π΅ΠΆΠ΄Π°Π΅Ρ Π½Π°ΡΠ°Π»ΡΡΡΠ²ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π½ΠΎΠ²ΡΡ DLL Π² ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ Β«Π·ΠΎΠ»ΠΎΡΠΎΠΉΒ» CD, ΡΠΆΠ΅ Π³ΠΎΡΠΎΠ²ΡΠΉ Π΄Π»Ρ Π²ΡΠΏΡΡΠΊΠ°. ΠΡΠΎ ΡΠΎΡ ΡΠ΅Π΄ΠΊΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π΄Π° ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΈΠ΄Π΅Ρ Π½Π°Π²ΡΡΡΠ΅ΡΡ ΡΠ½ΡΡΠ·ΠΈΠ°ΡΡΠ°ΠΌ-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ Π½ΠΎΠ²ΡΡ DLL. ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠΈ, ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΎ Π½Π° ΠΌΠΎΠ»ΡΠ°Π»ΠΈΠ²ΠΎΠ΅ (Π±Π΅Π· ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ) Π·Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΠΉ FastString DLL, ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡΡ Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π²ΠΏΠΎΠ»Π½Π΅ Π±Π΅Π·ΠΎΠ±ΠΈΠ΄Π½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π΅ Π·Π°ΡΡΠΎΠ½ΡΠ»ΠΈ ΠΎΡΠΊΡΡΡΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠ»Π°ΡΡΠ°, ΡΠ°ΠΊ ΡΡΠΎ ΡΠΎΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠΎΠ»ΡΠ°Π»ΠΈΠ²Π°Ρ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ΄ Π²Π΅ΡΡΠΈΡ 2.0 FastString ΡΠΎΠ»ΡΠΊΠΎ ΡΠ»ΡΡΡΠΈΡ Π»ΡΠ±ΡΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΠ΅ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΡΠ°Π½ΡΡΠ΅.
ΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ ΡΠ΅Π±Π΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ: ΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π½Π°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ²ΠΎΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ Π²ΠΎΠΆΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΡΡΡ ΠΆΠ΅ Π±ΡΠΎΡΠ°Π΅Ρ Π²ΡΠ΅ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ²ΠΎΡ ΠΌΠ°ΡΠΈΠ½Ρ, Π΄Π°Π±Ρ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²ΡΡΠΎΡ Π»ΠΈ ΡΠ»Π΅Π·Ρ Π²ΠΎΡΡΠΎΡΠ³Π° ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π½Π°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ Π±ΡΡΡΡΡΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΠΏΠΎΠΈΡΠΊ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ Π΅Π³ΠΎ ΠΈΠ»ΠΈ Π΅Π΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ°Π½Π΅Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ DLL FastString. ΠΠ΅ΡΠ²ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ½ΡΡ Π²ΡΡ ΠΈΠ΄Π΅Ρ Ρ ΠΎΡΠΎΡΠΎ. ΠΠ°ΡΠ΅ΠΌ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΈ ΡΡΠΎ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ° ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΎΠΏΠ°Π»Π°. ΠΠ½ ΠΏΡΡΠ°Π΅ΡΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ½ΠΎΠ²Π°, Π½ΠΎ Π½Π° ΡΡΠΎΡ ΡΠ°Π· Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΎΠ± ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΡΠΈ ΡΡΠ°Π·Ρ. ΠΠΎΠ½Π΅ΡΠ½ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΏΡΠΈΠ²ΡΡΠ½ΡΠΉ ΠΊ ΡΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ Π²ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½ΠΎ Π΄Π°ΠΆΠ΅ ΡΡΠΎ Π½Π΅ ΡΠΏΠ°ΡΠ°Π΅Ρ ΠΎΡ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ. Π§ΡΠΎ ΠΆΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ?
Π ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΡΠΎ, ΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π±ΡΠ» ΡΠ±Π°ΡΠΊΠ°Π½ Π²Π΅ΡΠΎΠΉ Π² ΡΠΎ, ΡΡΠΎ C++ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ. Π₯ΠΎΡΡ C++ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΡΡ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π· ΡΠ²ΠΎΠΈ Π·Π°ΠΊΡΡΡΡΠ΅ ΠΈ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π°, Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ΅ C++ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ ΠΎ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΉ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΠΈ. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ C++ ΡΡΠ΅Π±ΡΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΈΠΌΠ΅Π» Π΄ΠΎΡΡΡΠΏ ΠΊΠΎ Π²ΡΠ΅ΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², β Ρ ΡΠ΅Π»ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ»ΠΈ Π΄Π΅Π»Π°ΡΡ Π½Π΅Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΠΌΠ΅ΡΠΎΠ΄Π°. ΠΡΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅ ΠΈ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π·Π°ΠΊΡΡΡΡΡ ΠΈ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π΄Π°Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π½Π° ΡΠΈΡ. 1.3. ΠΠ΅ΡΡΠΈΡ 1.0 FastString ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ΅ΡΡΡΠ΅ Π±Π°ΠΉΡΠ° Π½Π° ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ (ΠΏΡΠΈΠ½ΠΈΠΌΠ°Ρ sizeof(char *) == 4). ΠΠ»ΠΈΠ΅Π½ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ Π²Π΅ΡΡΠΈΡ 1.0 ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° Π²ΡΠ΄Π΅Π»ΡΡΡ ΡΠ΅ΡΡΡΠ΅ Π±Π°ΠΉΡΠ° ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ Π²ΡΠ·ΠΎΠ² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΊΠ»Π°ΡΡΠ°. ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ, Π΄Π΅ΡΡΡΡΠΊΡΠΎΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Π²Π΅ΡΡΠΈΠΈ 2.0 (Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΈ Π²Π΅ΡΡΠΈΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π² DLL Π² ΠΌΠ°ΡΠΈΠ½Π΅ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ) ΠΎΠΆΠΈΠ΄Π°ΡΡ, ΡΡΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ Π²ΡΠ΄Π΅Π»ΠΈΠ» Π²ΠΎΡΠ΅ΠΌΡ Π±Π°ΠΉΡ Π½Π° ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ (ΠΏΡΠΈΠ½ΡΡΠΎ sizeof(int) == 8), ΠΈ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠ΅Π·Π΅ΡΠ²ΠΎΠ² Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π²ΠΎ Π²ΡΠ΅ Π²ΠΎΡΠ΅ΠΌΡ Π±Π°ΠΉΡ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² Ρ Π²Π΅ΡΡΠΈΠ΅ΠΉ 1.0 Π²ΡΠΎΡΡΠ΅ ΡΠ΅ΡΡΡΠ΅ Π±Π°ΠΉΡΠ° ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ ΠΊΠΎΠΌΡ-ΡΠΎ Π΄ΡΡΠ³ΠΎΠΌΡ, ΠΈ Π·Π°ΠΏΠΈΡΡ Π² ΡΡΠΎ ΠΌΠ΅ΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠ°, ΠΎ ΡΠ΅ΠΌ ΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Π΄ΠΈΠ°Π»ΠΎΠ³ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΠ±ΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π²Π΅ΡΡΠΈΠΉ β ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°ΡΡ DLL Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ. Π’Π°ΠΊΠ°Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΏΡΠΈΠ½ΡΡΠ° Π² Microsoft Foundation Classes (MFC). ΠΠΎΠ³Π΄Π° Π½ΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ Π² ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° DLL (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, FastString10.DLL, FastString20.DLL), ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π²ΡΠ΅Π³Π΄Π° Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΡ Π²Π΅ΡΡΠΈΡ DLL, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½Ρ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Π΄ΡΡΠ³ΠΈΡ Π²Π΅ΡΡΠΈΠΉ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ, ΠΈΠ·-Π·Π° Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΡΠ° Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, ΡΠΈΡΠ»ΠΎ Π²Π΅ΡΡΠΈΠΉ DLL, ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π²ΡΡΠΈΡΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π§ΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ Π² ΡΡΠΎΠΌ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°, ΠΏΡΠΎΡΠ°Π±ΠΎΡΠ°Π²ΡΠ΅Π³ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΡΡΠΈ ΠΌΠ΅ΡΡΡΠ΅Π².