Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Микропроцессоры. Учебник

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
3) ɱɟɪɟɡ ɫɬɟɤ;
4) ɫ ɩɨɦɨɳɶɸ ɞɢɪɟɤɬɢɜɵ extrn ɢ ɪubliɫ.
ɉɟɪɟɞɚɱɚ ɚɪɝɭɦɟɧɬɨɜ ɱɟɪɟɡ ɪɟɝɢɫɬɪɵ
ɗɬɨ ɧɚɢɛɨɥɟɟ ɩɪɨɫɬɨɣ ɜ ɪɟɚɥɢɡɚɰɢɢ ɫɩɨɫɨɛ ɩɟɪɟɞɚɱɢ ɞɚɧɧɵɯ. Ɉɧɢ ɫɬɚɧɨɜɹɬɫɹ ɞɨɫɬɭɩɧɵɦɢ ɧɟɦɟɞɥɟɧɧɨ ɩɨɫɥɟ ɩɟɪɟɞɚɱɢ ɭɩɪɚɜɥɟɧɢɹ ɩɪɨɰɟɞɭ­ɪɟ. ɗɬɨɬ ɫɩɨɫɨɛ ɨɫɨɛɟɧɧɨ ɷɮɮɟɤɬɢɜɟɧ ɩɪɢ ɧɟɛɨɥɶɲɨɦ ɨɛɴɟɦɟ ɩɟɪɟɞɚɜɚɟ­ɦɵɯ ɞɚɧɧɵɯ. Ɉɝɪɚɧɢɱɟɧɢɹ ɧɚ ɫɩɨɫɨɛ ɩɟɪɟɞɚɱɢ ɚɪɝɭɦɟɧɬɨɜ ɱɟɪɟɡ ɪɟɝɢɫɬɪɵ:
1. ɇɟɡɧɚɱɢɬɟɥɶɧɨɟ ɱɢɫɥɨ ɞɨɫɬɭɩɧɵɯ ɞɥɹ ɩɨɥɶɡɨɜɚɬɟɥɹ ɪɟɝɢɫɬɪɨɜ.
2. ɇɟɨɛɯɨɞɢɦɨ ɭɱɢɬɵɜɚɬɶ ɢɧɮɨɪɦɚɰɢɸ ɜ ɤɚɠɞɨɦ
ɪɟɝɢɫɬɪɟ.
3. Ɉɝɪɚɧɢɱɟɧɢɟ ɪɚɡɦɟɪɚ ɩɟɪɟɞɚɜɚɟɦɵɯ ɞɚɧɧɵɯ ɪɚɡɦɟɪɚɦɢ ɪɟɝɢɫɬɪɚ.
ȿɫɥɢ ɪɚɡɦɟɪ ɞɚɧɧɵɯ ɩɪɟɜɵɲɚɟɬ ɜɨɫɟɦɶ, ɲɟɫɬɧɚɞɰɚɬɶ ɢɥɢ ɬɪɢɞɰɚɬɶ ɞɜɚ ɛɢɬɚ, ɬɨ ɢɯ ɩɟɪɟɞɚɬɶ ɩɨɫɪɟɞɫɬɜɨɦ ɪɟɝɢɫɬɪɨɜ ɧɟɜɨɡɦɨɠɧɨ. ȼ ɷɬɨɦ ɫɥɭɱɚɟ ɧɟɨɛɯɨɞɢɦɨ ɩɟɪɟɞɚɜɚɬɶ ɧɟ ɫɚɦɢ ɞɚɧɧɵɟ, ɚ ɭɤɚɡɚɬɟɥɢ ɧɚ ɧɢɯ.
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\fpu.inc
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\fpu.lib
ExitProcess proto: DWORD
. Data; ɞɢɪɟɤɬɢɜɚ ɨɩɪɟɞɟɥɟɧɢɹ ɞɚɧɧɵɯ
st1 db "ȼɵɜɨɞ", 0
st2 db 10 dup (?), 0
ifmd db "Ɋɚɡɦɟɪ ɦɚɫɫɢɜɚ =% d. Ʉɨɥɢɱɟɫɬɜɨ ɨɞɢɧɚɤɨɜɵɯ ɛɢɬɨɜ 4 ɢ 9
=% d", 0
masivA dw 591,34,34,45,2,6,2, -6,1,9,8,6,4,5,45,12,12,31,46,84,54, -54, -
25 , 88,70,37, -1,0,0,5,0
masivB dw 963,2,7,43,13, -7,65,9,5,100,126,145,123,2,32, -
48,84,256,987,20, -54, -12, -200,4,0,0,9,8,215 ,54
masivC dw 30 dup (0)
work1 dw 0
work2 dw 0
sum dd 0
. Code; ɞɢɪɟɤɬɢɜɚ ɧɚɱɚɥɚ ɤɨɞɚ
_start:
mov eax, 0
mov ebx, 0
61
mov ecx, 30
mov edx, 0
lea esi, masivA
lea edi, masivB
lea edx, masivC
M1:
mov ax, [esi]
mov bx, [edi]
inc esi
inc esi
inc edi
inc edi
mov work1, ax; ɫɨɯɪɚɧɟɧɢɟ ɡɧɚɱɟɧɢɣ
mov work2, bx; ɫɨɯɪɚɧɟɧɢɟ ɡɧɚɱɟɧɢɣ
and eax, 210h; ɦɚɫɤɚ ɞɥɹ ɩɪɨɜɟɪɤɢ
and ebx, 210h;ɦɚɫɤɚ ɞɥɹ ɩɪɨɜɟɪɤɢ
. IF (eax == ebx; ɭɫɥɨɜɢɟ
jmp M3
. ENDIF
M2:
loop M1
jmp M4
M3:
inc sum
mov ax,work1
mov bx,work2
add ax,bx
mov [edx],ax; ɩɟɪɟɫɵɥɤɚ ɫɭɦɦɚ ɜ ɦɚɫɫɢɜ ɋ
inc edx
inc edx
jmp M2
M4:
mov ecx,30
mov ebx,sum
invoke wsprintf,\
ADDR st2,\
ADDR ifmd,\
62
ecx,bx
invoke MessageBox, \
NULL, \
addr st2, \
addr st1 \
MB_OK
invoke ExitProcess, 0
end _start; ɨɤɨɧɱɚɧɢɹ ɩɪɨɝɪɚɦɦɵ
ɉɟɪɟɞɚɱɚ ɚɪɝɭɦɟɧɬɨɜ ɱɟɪɟɡ ɨɛɳɭɸ ɨɛɥɚɫɬɶ ɩɚɦɹɬɢ
ɗɬɨɬ ɜɚɪɢɚɧɬ ɩɟɪɟɞɚɱɢ ɚɪɝɭɦɟɧɬɨɜ ɩɪɟɞɩɨɥɚɝɚɟɬ, ɱɬɨ ɜɵɡɵɜɚɸɳɚɹ ɢ ɜɵɡɵɜɚɟɦɚɹ ɩɪɨɝɪɚɦɦɵ ɭɫɥɨɜɢɥɢɫɶ ɢɫɩɨɥɶɡɨɜɚɬɶ ɧɟɤɨɬɨɪɭɸ ɨɛɥɚɫɬɶ ɩɚ­ɦɹɬɢ ɤɚɤ ɨɛɳɭɸ. Ɍɪɚɧɫɥɹɬɨɪ ɩɪɟɞɨɫɬɚɜɥɹɟɬ ɫɩɟɰɢɚɥɶɧɨɟ ɫɪɟɞɫɬɜɨ ɞɥɹ ɨɪ­ɝɚɧɢɡɚɰɢɢ ɬɚɤɨɣ ɨɛɥɚɫɬɢ ɩɚɦɹɬɢ, ɤɚɤ ɚɬɪɢɛɭɬ ɤɨɦɛɢɧɢɪɨɜɚɧɢɹ ɫɟɝɦɟɧɬɨɜ. ȿɝɨ ɧɚɥɢɱɢɟ ɭɤɚɡɵɜɚɟɬ ɤɨɦɩɨɧɨɜɳɢɤɭ ɧɚ ɬɨ, ɤɚɤ ɧɭɠɧɨ ɤɨɦɛɢɧɢɪɨɜɚɬɶ ɫɟɝɦɟɧɬɵ, ɢɦɟɸɳɢɟ ɨɞɧɨ ɢɦɹ. Ɂɧɚɱɟɧɢɟ ɋɨmmɨn ɫɜɢɞɟɬɟɥɶɫɬɜɭɟɬ ɨ ɬɨɦ, ɱɬɨ ɜɫɟ ɫɟɝɦɟɧɬɵ, ɢɦɟɸɳɢɟ ɨɞɢɧɚɤɨɜɨɟ ɢɦɹ ɜ ɨɛɴɟɞɢɧɹɟɦɵɯ ɦɨɞɭɥɹɯ, ɛɭ­ɞɭɬ ɪɚɫɩɨɥɚɝɚɬɶɫɹ ɤɨɦɩɨɧɨɜɳɢɤɨɦ, ɧɚɱɢɧɚɹ ɫ ɨɞɧɨɝɨ ɚɞɪɟɫɚ ɨɩɟɪɚɬɢɜɧɨɣ ɩɚɦɹɬɢ. ɗɬɨ ɡɧɚɱɢɬ, ɱɬɨ ɨɧɢ ɛɭɞɭɬ ɩɪɨɫɬɨ ɩɟɪɟɤɪɵɜɚɬɶɫɹ ɜ ɩɚɦɹɬɢ ɢ, ɫɥɟ­ɞɨɜɚɬɟɥɶɧɨ, ɫɨɜɦɟɫɬɧɨ ɢɫɩɨɥɶɡɨɜɚɬɶ ɜɵɞɟɥɟɧɧɭɸ ɩɚɦɹɬɶ. ɇɟɞɨɫɬɚɬɤɨɦ ɷɬɨɝɨ ɫɩɨɫɨɛɚ ɜ ɪɟɚɥɶɧɨɦ ɪɟɠɢɦɟ ɪɚɛɨɬɵ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɚ ɹɜɥɹɟɬɫɹ
ɨɬ­ɫɭɬɫɬɜɢɟ ɫɪɟɞɫɬɜ ɡɚɳɢɬɵ ɞɚɧɧɵɯ ɨɬ ɪɚɡɪɭɲɟɧɢɹ, ɬɚɤ ɤɚɤ ɧɟɜɨɡɦɨɠɧɨ ɩɪɨ­ɤɨɧɬɪɨɥɢɪɨɜɚɬɶ ɫɨɛɥɸɞɟɧɢɟ ɩɪɚɜɢɥ ɞɨɫɬɭɩɚ ɤ ɷɬɢɦ ɞɚɧɧɵɦ.
ɉɟɪɟɞɚɱɚ ɚɪɝɭɦɟɧɬɨɜ ɱɟɪɟɡ ɫɬɟɤ
ɗɬɨɬ ɫɩɨɫɨɛ ɧɚɢɛɨɥɟɟ ɱɚɫɬɨ ɢɫɩɨɥɶɡɭɟɬɫɹ ɞɥɹ ɩɟɪɟɞɚɱɢ ɚɪɝɭɦɟɧɬɨɜ ɩɪɢ ɜɵɡɨɜɟ ɩɪɨɰɟɞɭɪ. ȿɝɨ ɫɭɬɶ ɡɚɤɥɸɱɚɟɬɫɹ ɜ ɬɨɦ, ɱɬɨ ɜɵɡɵɜɚɸɳɚɹ ɩɪɨ­ɰɟɞɭɪɚ ɫɚɦɨɫɬɨɹɬɟɥɶɧɨ ɡɚɧɨɫɢɬ ɜ ɫɬɟɤ ɩɟɪɟɞɚɜɚɟɦɵɟ ɞɚɧɧɵɟ, ɩɨɫɥɟ ɱɟɝɨ ɩɪɨɢɡɜɨɞɢɬ
ɜɵɡɨɜ ɩɪɨɰɟɞɭɪɵ. ɋɬɟɤ ɨɛɫɥɭɠɢɜɚɟɬɫɹ ɬɪɟɦɹ ɪɟɝɢɫɬɪɚɦɢ ss,
sɪ, bɪ. Ɇɢɤɪɨɩɪɨɰɟɫɫɨɪ ɚɜɬɨɦɚɬɢɱɟɫɤɢ ɪɚɛɨɬɚɟɬ ɫ ɪɟɝɢɫɬɪɚɦɢ ss ɢ sɪ ɜ
ɩɪɟɞɩɨɥɨɠɟɧɢɢ, ɱɬɨ ɨɧɢ ɜɫɟɝɞɚ ɭɤɚɡɵɜɚɸɬ ɜɟɪɲɢɧɭ ɫɬɟɤɚ. ɉɨ ɷɬɨɣ ɩɪɢ­ɱɢɧɟ ɢɯ ɫɨɞɟɪɠɢɦɨɟ ɢɡɦɟɧɹɬɶ ɧɟ ɪɟɤɨɦɟɧɞɭɟɬɫɹ. Ⱦɥɹ ɨɫɭɳɟɫɬɜɥɟɧɢɹ ɩɪɨ­ɢɡɜɨɥɶɧɨɝɨ ɞɨɫɬɭɩɚ ɤ ɞɚɧɧɵɦ ɜ ɫɬɟɤɟ ɚɪɯɢɬɟɤɬɭɪɚ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɚ ɢɦɟɟɬ ɫɩɟɰɢɚɥɶɧɵɣ ɪɟɝɢɫɬɪ ebɪ/b
ɪ, ɤɨɬɨɪɵɣ ɚɜɬɨɦɚɬɢɱɟɫɤɢ ɩɪɟɞɩɨɥɚɝɚɟɬ ɪɚɛɨ-
ɬɭ ɫ ɫɟɝɦɟɧɬɨɦ ɫɬɟɤɚ. ɉɟɪɟɞ ɢɫɩɨɥɶɡɨɜɚɧɢɟɦ ɷɬɨɝɨ ɪɟɝɢɫɬɪɚ ɞɥɹ ɞɨɫɬɭɩɚ ɤ ɞɚɧɧɵɦ ɫɬɟɤɚ ɟɝɨ ɫɨɞɟɪɠɢɦɨɟ ɧɟɨɛɯɨɞɢɦɨ ɩɪɚɜɢɥɶɧɨ ɢɧɢɰɢɚɥɢɡɢɪɨɜɚɬɶ, ɱɬɨ ɩɪɟɞɩɨɥɚɝɚɟɬ ɮɨɪɦɢɪɨɜɚɧɢɟ ɜ ɧɟɦ ɚɞɪɟɫɚ, ɤɨɬɨɪɵɣ ɛɵ ɭɤɚɡɵɜɚɥ ɧɟɩɨ­ɫɪɟɞɫɬɜɟɧɧɨ ɧɚ ɩɟɪɟɞɚɧɧɵɟ ɞɚɧɧɵɟ. Ⱦɥɹ ɷɬɨɝɨ ɜ ɧɚɱɚɥɨ ɩɪɨɰɟɞɭɪɵ ɪɟɤɨ­ɦɟɧɞɭɟɬɫɹ ɜɤɥɸɱɚɬɶ ɞɨɩɨɥɧɢɬɟɥɶɧɵɣ ɮɪɚɝɦɟɧɬ ɤɨɞɚ, ɤɨɬɨɪɵɣ ɢɦɟɟɬ ɧɚɡɜɚɧɢɟ «ɩɪɨɥɨɝ ɩɪɨɰɟɞɭɪɵ». Ɉɛɵɱɧɨ ɤɨɞ ɩɪɨɥɨɝɚ ɫɨɫɬɨɢɬ ɜɫɟɝɨ ɢɡ ɞɜɭɯ ɤɨɦɚɧɞ.
63
ɉɟɪɜɚɹ ɤɨɦɚɧɞɚ
ɪush bɪ
ɫɨɯɪɚɧɹɟɬ ɫɨɞɟɪɠɢɦɨɟ bɪ ɜ ɫɬɟɤɟ ɬɚɤɢɦ ɨɛɪɚɡɨɦ, ɱɬɨɛɵ ɢɫɤɥɸɱɢɬɶ ɩɨɪɱɭ ɧɚɯɨɞɹɳɟɝɨɫɹ ɜ ɧɟɦ ɡɧɚɱɟɧɢɹ.
ȼɬɨɪɚɹ ɤɨɦɚɧɞɚ
mɨv bɪ, sɪ
ɧɚɫɬɪɚɢɜɚɟɬ bɪ ɧɚ ɜɟɪɲɢɧɭ ɫɬɟɤɚ, ɩɨɞɬɜɟɪɠɞɚɹ ɬɟɦ ɫɚɦɵɦ, ɱɬɨ ɫɨɞɟɪɠɢ­ɦɨɟ sɪ ɹɜɥɹɟɬɫɹ ɚɤɬɭɚɥɶɧɵɦ ɢ ɨɫɭɳɟɫɬɜɟɥɹɟɬ ɩɪɹɦɨɣ ɞɨɫɬɭɩ ɤ ɫɨɞɟɪɠɢ­ɦɨɦɭ ɫɬɟɤɚ.
Ɂɚɜɟɪɲɟɧɢɟ ɩɪɨɰɟɞɭɪɵ ɞɨɥɠɧɨ ɛɵɬɶ
ɨɮɨɪɦɥɟɧɨ ɨɫɨɛɵɦ ɨɛɪɚɡɨɦ ɢ ɫɨɞɟɪɠɚɬɶ ɞɟɣɫɬɜɢɹ, ɨɛɟɫɩɟɱɢɜɚɸɳɢɟ ɤɨɪɪɟɤɬɧɵɣ ɜɨɡɜɪɚɬ ɢɡ ɩɪɨɰɟɞɭɪɵ. Ɏɪɚɝɦɟɧɬ ɤɨɞɚ, ɜɵɩɨɥɧɹɸɳɟɝɨ ɬɚɤɢɟ ɞɟɣɫɬɜɢɹ, ɢɦɟɟɬ ɧɚɡɜɚɧɢɟ «ɷɩɢɥɨɝ ɩɪɨɰɟɞɭɪɵ». Ʉɨɞ ɷɩɢɥɨɝɚ ɞɨɥɠɟɧ ɜɨɫɫɬɚɧɨɜɢɬɶ ɤɨɧɬɟɤɫɬ ɩɪɨɝɪɚɦɦɵ ɜ ɬɨɱɤɟ ɜɵɡɨɜɚ ɩɪɨɰɟɞɭɪɵ ɢɡ ɜɵɡɵɜɚɸɳɟɣ ɩɪɨɝɪɚɦɦɵ. ɉɪɢ ɷɬɨɦ ɧɟɨɛɯɨɞɢ­ɦɨ ɨɬɤɨɪɪɟɤɬɢɪɨɜɚɬɶ ɫɨɞɟɪɠɢɦɨɟ ɫɬɟɤɚ, ɭɫɬɪɚɧɢɜ ɢɡ ɧɟɝɨ ɫɬɚɜɲɢɟ ɧɟɚɤɬɭ­ɚɥɶɧɵɦɢ ɚɪɝɭɦɟɧɬɵ, ɩɟɪɟɞɚɜɚɜɲɢɟɫɹ ɜ ɩɪɨɰɟɞɭɪɭ.
ɗɬɨ ɦɨɠɧɨ ɫɞɟɥɚɬɶ ɧɟ-
ɫɤɨɥɶɤɢɦɢ ɫɩɨɫɨɛɚɦɢ:
1. ɂɫɩɨɥɶɡɭɹ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɶ ɢɡ n ɤɨɦɚɧɞ ɪɨɪ xx, ɩɪɟɞɩɨɱɬɢɬɟɥɶ-
ɧɨ ɜ ɜɵɡɵɜɚɸɳɟɣ ɩɪɨɝɪɚɦɦɟ ɫɪɚɡɭ ɩɨɫɥɟ ɜɨɡɜɪɚɬɚ ɭɩɪɚɜɥɟɧɢɹ ɢɡ ɩɪɨɰɟ­ɞɭɪɵ.
2. Ɉɬɤɨɪɪɟɤɬɢɪɨɜɚɬɶ ɪɟɝɢɫɬɪ ɭɤɚɡɚɬɟɥɹ ɫɬɟɤɚ sɪ ɧɚ ɜɟɥɢɱɢɧɭ 2
ɧɚɩɪɢɦɟɪ, ɤɨɦɚɧɞɨɣ ɚdd sɪ, NN ɝɞɟ NN = 2
x n, ɚ n – ɤɨɥɢɱɟɫɬɜɨ ɚɪɝɭɦɟɧ-
x n,
ɬɨɜ. ɗɬɨ ɬɚɤɠɟ ɥɭɱɲɟ ɞɟɥɚɬɶ ɩɨɫɥɟ ɜɨɡɜɪɚɬɚ ɭɩɪɚɜɥɟɧɢɹ ɜɵɡɵɜɚɸɳɟɣ ɩɪɨɰɟɞɭɪɟ.
3. ɂɫɩɨɥɶɡɭɹ ɤɨɦɚɧɞɭ ret n ɜ ɤɚɱɟɫɬɜɟ ɩɨɫɥɟɞɧɟɣ ɢɫɩɨɥɧɹɟɦɨɣ ɤɨɦɚɧ-
ɞɵ ɜ ɩɪɨɰɟɞɭɪɟ, ɝɞɟ n – ɤɨɥɢɱɟɫɬɜɨ ɛɚɣɬ, ɧɚ ɤɨɬɨɪɨɟ ɧɭɠɧɨ ɭɜɟɥɢɱɢɬɶ ɫɨ­ɞɟɪɠɢɦɨɟ ɪɟɝɢɫɬɪɚ esɪ/sɪ ɩɨɫɥɟ ɬɨɝɨ, ɤɚɤ ɫɨ ɫɬɟɤɚ ɛɭɞɭɬ ɫɧɹɬɵ ɫɨɫɬɚɜɥɹ­ɸɳɢɟ ɚɞɪɟɫɚ ɜɨɡɜɪɚɬɚ. ɗɬɨɬ ɫɩɨɫɨɛ ɚɧɚɥɨɝɢɱɟɧ ɩɪɟɞɵɞɭɳɟɦɭ, ɧɨ ɜɵɩɨɥ­ɧɹɟɬɫɹ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɨɦ ɚɜɬɨɦɚɬɢɱɟɫɤɢ. Ⱥɪɝɭɦɟɧɬɵ ɦɨɝɭɬ ɩɟɪɟɞɚɜɚɬɶɫɹ ɥɢɛɨ ɩɨ ɡɧɚɱɟɧɢɸ, ɥɢɛɨ ɩɨ ɚɞɪɟɫɭ.
14. ɋɨɡɞɚɧɢɟ Windows-ɩɪɢɥɨɠɟɧɢɣ ɧɚ ɚɫɫɟɦɛɥɟɪɟ
Ʉɨɦɛɢɧɢɪɨɜɚɧɢɟ ɩɪɨɝɪɚɦɦ ɧɚ ɹɡɵɤɟ ɜɵɫɨɤɨɝɨ ɭɪɨɜɧɹ ɫ ɤɨɞɨɦ ɧɚ ɚɫ­ɫɟɦɛɥɟɪɟ ɢɫɩɨɥɶɡɭɟɬɫɹ ɜ ɬɨɦ ɫɥɭɱɚɟ, ɟɫɥɢ ɩɪɢɫɭɬɫɬɜɭɸɬ ɭɱɚɫɬɤɢ, ɤɨɬɨɪɵɟ ɧɟɜɨɡɦɨɠɧɨ ɪɟɚɥɢɡɨɜɚɬɶ ɛɟɡ ɢɫɩɨɥɶɡɨɜɚɧɢɹ ɷɬɨɝɨ ɹɡɵɤɚ ɩɪɨɝɪɚɦɦɢɪɨɜɚ­ɧɢɹ, ɥɢɛɨ ɟɝɨ ɩɪɢɦɟɧɟɧɢɟ ɡɧɚɱɢɬɟɥɶɧɨ ɩɨɜɵɲɚɟɬ ɷɮɮɟɤɬɢɜɧɨɫɬɶ ɪɚɛɨɬɵ.
ɋɭɳɟɫɬɜɭɸɬ ɫɥɟɞɭɸɳɢɟ ɮɨɪɦɵ ɤɨɦɛɢɧɢɪɨɜɚɧɢɹ ɩɪɨɝɪɚɦɦ ɧɚ ɹɡɵɤɚɯ ɜɵɫɨɤɨɝɨ ɭɪɨɜɧɹ ɫ ɚɫɫɟɦɛɥɟɪɨɦ:
–
ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɨɩɟɪɚɬɨɪɨɜ ɬɢɩɚ inline ɢ ɚɫɫɟɦɛɥɟɪɧɵɯ ɜɫɬɚɜɨɤ. ɗɬɚ ɮɨɪɦɚ ɜ ɡɧɚɱɢɬɟɥɶɧɨɣ ɫɬɟɩɟɧɢ ɡɚɜɢɫɢɬ ɨɬ ɫɢɧɬɚɤɫɢɫɚ ɹɡɵɤɚ ɜɵɫɨɤɨɝɨ ɭɪɨɜɧɹ ɢ ɤɨɧɤɪɟɬɧɨɝɨ ɤɨɦɩɢɥɹɬɨɪɚ. Ɉɧɚ ɩɪɟɞɩɨɥɚɝɚɟɬ, ɱɬɨ ɚɫɫɟɦɛɥɟɪɧɵɟ
64
ɤɨɞɵ ɜ ɜɢɞɟ ɤɨɦɚɧɞ ɚɫɫɟɦɛɥɟɪɚ ɢɥɢ ɩɪɹɦɨ ɜ ɦɚɲɢɧɧɵɯ ɤɨɦɚɧɞɚɯ ɜɫɬɚɜ-
–
ɥɹɸɬɫɹ ɜ ɬɟɤɫɬ ɩɪɨɝɪɚɦɦɵ ɧɚ ɹɡɵɤɟ ɜɵɫɨɤɨɝɨ ɭɪɨɜɧɹ. Ʉɨɦɩɢɥɹɬɨɪ ɹɡɵɤɚ ɪɚɫɩɨɡɧɚɟɬ ɢɯ ɤɚɤ ɚɫɫɟɦɛɥɟɪ ɢ ɛɟɡ ɢɡɦɟɧɟɧɢɣ ɜɤɥɸɱɚɟɬ ɜ ɮɨɪɦɢɪɭɟɦɵɣ ɢɦ ɨɛɴɟɤɬɧɵɣ ɤɨɞ. ɗɬɚ ɮɨɪɦɚ ɭɞɨɛɧɚ, ɟɫɥɢ ɜɫɬɚɜɥɹɬɶ ɧɟɛɨɥɶɲɨɣ ɮɪɚɝ­ɦɟɧɬ.
–
ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɜɧɟɲɧɢɯ ɩɪɨɰɟɞɭɪ ɢ ɮɭɧɤɰɢɣ. ɗɬɨ ɧɚɢɛɨɥɟɟ ɭɧɢ­ɜɟɪɫɚɥɶɧɚɹ ɮɨɪɦɚ ɤɨɦɛɢɧɢɪɨɜɚɧɢɹ, ɢɦɟɸɳɚɹ ɪɹɞ ɩɪɟɢɦɭɳɟɫɬɜ:
1. ɇɚɩɢɫɚɧɢɟ ɢ ɨɬɥɚɞɤɭ ɩɪɨɝɪɚɦɦ ɦɨɠɧɨ ɩɪɨɢɡɜɨɞɢɬɶ ɧɟɡɚɜɢɫɢɦɨ.
2. ɇɚɩɢɫɚɧɧɵɟ ɩɪɨɝɪɚɦɦɵ ɦɨɠɧɨ ɢɫɩɨɥɶɡɨɜɚɬɶ ɜ ɞɪɭɝɢɯ ɩɪɨɟɤɬɚɯ.
3. ɍɩɪɨɳɚɸɬɫɹ ɦɨɞɢɮɢɤɚɰɢɹ ɢ ɫɨɩɪɨɜɨɠɞɟɧɢɟ ɩɨɞɩɪɨɝɪɚɦɦ ɜ ɬɟɱɟ-
ɧɢɟ ɠɢɡɧɟɧɧɨɝɨ ɰɢɤɥɚ ɩɪɨɟɤɬɚ.
ȼɨɡɦɨɠɧɵ ɞɜɚ ɜɢɞɚ ɫɜɹɡɢ – ɩɪɨɝɪɚɦɦɚ ɧɚ ɹɡɵɤɟ ɜɵɫɨɤɨɝɨ ɭɪɨɜɧɹ ɜɵ-
ɡɵɜɚɟɬ ɩɪɨɰɟɞɭɪɭ ɧɚ ɚɫɫɟɦɛɥɟɪɟ (ɬɚɛɥɢɰɚ 4) ɢ ɧɚɨɛɨɪɨɬ.
ɋɢɧɬɚɤɫɢɫ ɞɢɪɟɤɬɢɜɵ:
ɢɦɹ_ɩɪɨɰɟɞɭɪɵ ɊRɈɋ [[ɦɨɞɢɮɢɤɚɬɨɪ_ɹɡɵɤɚ]ɹɡɵɤ] [ɪɚɫɫɬɨɹɧɢɟ]
Ɍɚɛɥɢɰɚ 4 – Ɂɧɚɱɟɧɢɹ ɨɩɟɪɚɧɞɚ «ɹɡɵɤ»
Ɉɩɟɪɚɧɞ «ɹɡɵɤ» əɡɵɤ
ɇɚɩɪɚɜɥɟɧɢɟ
ɩɟɪɟɞɚɱɢ
ɚɪɝɭɦɟɧɬɨɜ
Ʉɚɤɚɹ
ɩɪɨɰɟɞɭɪɚ
ɨɱɢɳɚɟɬ ɫɬɟɤ
NɈLȺNGUȺGE Ⱥɫɫɟɦɛɥɟɪ ɋɥɟɜɚ ɧɚɩɪɚɜɨ ȼɵɡɵɜɚɟɦɚɹ
BȺSIɋ Bɚsiɫ ɋɥɟɜɚ ɧɚɩɪɚɜɨ ȼɵɡɵɜɚɟɦɚɹ
ɊRɈLɈG Ɋrɨlɨg ɋɩɪɚɜɚ ɧɚɥɟɜɨ ȼɵɡɵɜɚɸɳɚɹ
FɈRTRȺN Fɨrtrɚn ɋɥɟɜɚ ɧɚɩɪɚɜɨ ȼɵɡɵɜɚɟɦɚɹ
ɋ ɋ ɋɩɪɚɜɚ ɧɚɥɟɜɨ ȼɵɡɵɜɚɸɳɚɹ
ɋ++ ɋ++ ɋɩɪɚɜɚ ɧɚɥɟɜɨ ȼɵɡɵɜɚɸɳɚɹ
ɊȺSɋȺL Ɋɚsɫɚl ɋɥɟɜɚ ɧɚɩɪɚɜɨ ȼɵɡɵɜɚɟɦɚɹ
STDɋȺLL
ɋɩɪɚɜɚ ɧɚɥɟɜɨ ȼɵɡɵɜɚɟɦɚɹ
SYSɋȺLL ɋ++ ɋɩɪɚɜɚ ɧɚɥɟɜɨ ȼɵɡɵɜɚɸɳɚɹ
Ɉɛɨɫɧɨɜɚɧɢɟ ɧɟɨɛɯɨɞɢɦɨɫɬɢ ɪɚɡɪɚɛɨɬɤɢ ɧɚ ɚɫɫɟɦɛɥɟɪɟ Windɨws-
ɩɪɢɥɨɠɟɧɢɣ:
1. əɡɵɤ ɚɫɫɟɦɛɥɟɪɚ ɩɨɡɜɨɥɹɟɬ ɩɪɨɝɪɚɦɦɢɫɬɭ ɩɨɥɧɨɫɬɶɸ ɤɨɧɬɪɨɥɢɪɨ- ɜɚɬɶ ɫɨɡɞɚɜɚɟɦɵɣ ɢɦ ɩɪɨɝɪɚɦɦɧɵɣ ɤɨɞ ɢ ɨɩɬɢɦɢɡɢɪɨɜɚɬɶ ɟɝɨ ɩɨ ɫɜɨɟɦɭ ɭɫɦɨɬɪɟɧɢɸ.
2. Ʉɨɦɩɢɥɹɬɨɪɵ ɹɡɵɤɨɜ ɜɵɫɨɤɨɝɨ ɭɪɨɜɧɹ ɩɨɦɟɳɚɸɬ ɜ ɡɚɝɪɭɡɨɱɧɵɣ ɦɨɞɭɥɶ ɩɪɨɝɪɚɦɦɵ ɢɡɛɵɬɨɱɧɭɸ ɢɧɮɨɪɦɚɰɢɸ. ɗɤɜɢɜɚɥɟɧɬɧɵɟ ɢɫɩɨɥɧɹɟ­ɦɵɟ ɦɨɞɭɥɢ, ɢɫɯɨɞɧɵɣ ɬɟɤɫɬ ɤɨɬɨɪɵɯ ɧɚɩɢɫɚɧ ɧɚ ɹɡɵɤɟ ɚɫɫɟɦɛɥɟɪɚ, ɢɦɟ­ɸɬ
ɜ ɧɟɫɤɨɥɶɤɨ ɪɚɡ ɦɟɧɶɲɢɣ ɪɚɡɦɟɪ.
3. ɉɪɢ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɢ ɧɚ ɚɫɫɟɦɛɥɟɪɟ ɫɨɯɪɚɧɹɟɬɫɹ ɩɨɥɧɵɣ ɞɨɫɬɭɩ ɤ ɚɩɩɚɪɚɬɧɵɦ ɪɟɫɭɪɫɚɦ ɤɨɦɩɶɸɬɟɪɚ.
65
4. ɉɪɢɥɨɠɟɧɢɟ, ɧɚɩɢɫɚɧɧɨɟ ɧɚ ɹɡɵɤɟ ɚɫɫɟɦɛɥɟɪɚ, ɤɚɤ ɩɪɚɜɢɥɨ, ɛɵɫɬ­ɪɟɟ ɡɚɝɪɭɠɚɟɬɫɹ ɜ ɨɩɟɪɚɬɢɜɧɭɸ ɩɚɦɹɬɶ ɤɨɦɩɶɸɬɟɪɚ.
5. ɉɪɢɥɨɠɟɧɢɟ, ɧɚɩɢɫɚɧɧɨɟ ɧɚ ɹɡɵɤɟ ɚɫɫɟɦɛɥɟɪɚ, ɤɚɤ ɩɪɚɜɢɥɨ, ɨɛɥɚ-
ɞɚɟɬ ɛɨɥɟɟ ɜɵɫɨɤɨɣ ɫɤɨɪɨɫɬɶɸ ɪɚɛɨɬɵ ɢ ɪɟɚɤɬɢɜɧɨɫɬɶɸ ɨɬɜɟɬɚ ɧɚ ɞɟɣ­ɫɬɜɢɹ ɩɨɥɶɡɨɜɚɬɟɥɹ.
Ɇɢɧɢɦɚɥɶɧɨɟ ɩɪɢɥɨɠɟɧɢɟ Windɨws ɫɨɫɬɨɢɬ ɢɡ ɬɪɟɯ ɱɚɫɬɟɣ:
–
ɝɥɚɜɧɚɹ ɮɭɧɤɰɢɹ;
–
ɰɢɤɥ ɨɛɪɚɛɨɬɤɢ ɫɨɨɛɳɟɧɢɣ;
–
ɨɤɨɧɧɚɹ ɮɭɧɤɰɢɹ.
ɉɪɢ ɧɚɥɢɱɢɢ ɢɫɯɨɞɧɨɝɨ ɮɚɣɥɚ Windɨws-ɩɪɢɥɨɠɟɧɢɹ ɧɚ ɹɡɵɤɟ ɋ/ɋ++ ɦɨɠɧɨ ɩɨɥɭɱɢɬɶ ɬɟɤɫɬ ɧɚ ɹɡɵɤɟ ɚɫɫɟɦɛɥɟɪɚ. ɇɚ ɟɝɨ ɨɫɧɨɜɟ ɜɩɨɫɥɟɞɫɬɜɢɢ ɦɨɠɧɨ ɫɮɨɪɦɢɪɨɜɚɬɶ ɮɭɧɤɰɢɨɧɚɥɶɧɨ ɷɤɜɢɜɚɥɟɧɬɧɵɣ ɢɫɩɨɥɧɹɟɦɵɣ ɦɨ­ɞɭɥɶ. ɇɟɨɛɯɨɞɢɦɨ ɞɢɡɚɫɫɟɦɛɥɢɪɨɜɚɬɶ ɢɫɩɨɥɧɹɟɦɵɣ ɦɨɞɭɥɶ ɩɪɨɝɪɚɦɦɵ ɬɟɦ ɞɢɡɚɫɫɟɦɛɥɟɪɨɦ, ɤɨɬɨɪɵɣ ɩɨɧɢɦɚɟɬ ɢɧɬɟɪɮɟɣɫ Win32 ȺɊI. Ⱦɢɡɚɫɫɟɦ­ɛɥɢɪɨɜɚɧɧɵɣ ɮɚɣɥ ɦɨɠɧɨ ɫɨɯɪɚɧɢɬɶ ɤɚɤ ɥɢɫɬɢɧɝ (ɪɚɫɲɢɪɟɧɢɟ «*.lst») ɢ ɤɚɤ ɢɫɯɨɞɧɵɣ ɬɟɤɫɬ ɚɫɫɟɦɛɥɟɪɚ (ɪɚɫɲɢɪɟɧɢɟ «*.ɚsm»). Ɏɚɣɥ ɥɢɫɬɢɧɝɚ ɜ ɥɟɜɨɣ ɱɚɫɬɢ ɫɨɞɟɪɠɢɬ ɤɨɥɨɧɤɭ ɫ ɚɞɪɟɫɚɦɢ ɫɦɟɳɟɧɢɹ ɤɨɦɚɧɞ. ȼɫɟ ɦɟɬɤɢ ɢ ɫɢɦɜɨɥɢɱɟɫɤɢɟ ɢɦɟɧɚ ɜ ɞɢɡɚɫɫɟɦɛɥɢɪɨɜɚɧɧɨɦ ɬɟɤɫɬɟ ɮɨɪɦɢɪɭɸɬɫɹ ɫ ɢɫ­ɩɨɥɶɡɨɜɚɧɢɟɦ ɷɬɢɯ ɫɦɟɳɟɧɢɣ.
Ɉɞɧɢɦ ɢɡ ɝɥɚɜɧɵɯ ɤɪɢɬɟɪɢɟɜ ɜɵɛɨɪɚ ɹɡɵɤɚ ɪɚɡɪɚɛɨɬɤɢ Windɨws­ɩɪɢɥɨɠɟɧɢɹ ɹɜɥɹɟɬɫɹ ɧɚɥɢɱɢɟ ɜ ɧɟɦ ɫɪɟɞɫɬɜ, ɫɩɨɫɨɛɧɵɯ ɩɨɞɞɟɪɠɚɬɶ ɫɬɪɨ­ɝɨ ɨɩɪɟɞɟɥɟɧɧɭɸ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɶ
ɲɚɝɨɜ. Ʉɚɪɤɚɫɧɨɟ Windɨws-
ɩɪɢɥɨɠɟɧɢɟ ɧɚ ɚɫɫɟɦɛɥɟɪɟ ɫɨɞɟɪɠɢɬ ɨɞɢɧ ɫɟɝɦɟɧɬ ɞɚɧɧɵɯ (.dɚtɚ) ɢ ɨɞɢɧ ɫɟɝɦɟɧɬ ɤɨɞɚ (.ɫɨde). ɋɟɝɦɟɧɬ ɫɬɟɤɚ ɜ ɢɫɯɨɞɧɵɯ ɬɟɤɫɬɚɯ Windɨws­ɩɪɢɥɨɠɟɧɢɣ ɧɟɩɨɫɪɟɞɫɬɜɟɧɧɨ ɧɟ ɨɩɢɫɵɜɚɸɬ. Windɨws ɜɵɞɟɥɹɟɬ ɞɥɹ ɫɬɟɤɚ ɨɛɴɟɦ ɩɚɦɹɬɢ, ɪɚɡɦɟɪ ɤɨɬɨɪɨɝɨ ɡɚɞɚɧ ɩɪɨɝɪɚɦɦɢɫɬɨɦ ɜ ɮɚɣɥɟ ɫ ɪɚɫɲɢɪɟ­ɧɢɟɦ «*.def».
ȼɫɟ ɫɢɦɜɨɥɢɱɟɫɤɢɟ ɢɦɟɧɚ ɜ ɩɪɨɝɪɚɦɦɟ ɧɚ ɚɫɫɟɦɛɥɟɪɟ ɩɨ ɭɦɨɥɱɚɧɢɸ ɹɜɥɹɸɬɫɹ ɝɥɨɛɚɥɶɧɵɦɢ. Ɂɚɞɚɧɢɟ ɞɢɪɟɤɬɢɜɵ lɨɫɚls ɜɤɥɸɱɚɟɬ ɜ ɬɪɚɧɫɥɹɬɨɪɟ ɦɟɯɚɧɢɡɦ ɤɨɧɬɪɨɥɹ ɨɛɥɚɫɬɟɣ ɜɢɞɢɦɨɫɬɢ ɢɦɟɧ ɢ ɩɨɡɜɨɥɹɟɬ ɢɫɩɨɥɶɡɨɜɚɬɶ ɜ ɩɪɨɝɪɚɦɦɟ ɥɨɤɚɥɶɧɵɟ ɢɦɟɧɚ. ɋɢɦɜɨɥɢɱɟɫɤɢɦ ɢɦɟɧɚɦ, ɤɨɬɨɪɵɟ ɧɟɨɛɯɨɞɢ­ɦɨ ɫɞɟɥɚɬɶ ɥɨɤɚɥɶɧɵɦɢ, ɞɨɥɠɧɚ ɩɪɟɞɲɟɫɬɜɨɜɚɬɶ ɨɩɪɟɞɟɥɟɧɧɚɹ ɩɨɫɥɟɞɨɜɚ­ɬɟɥɶɧɨɫɬɶ, ɫɨɫɬɨɹɳɚɹ ɧɟ ɦɟɧɟɟ, ɱɟɦ ɢɡ ɞɜɭɯ ɫɢɦɜɨɥɨɜ. Ɉɧɢ ɡɚɞɚɸɬɫɹ ɤɚɤ ɩɚɪɚɦɟɬɪɵ ɞɢɪɟɤɬɢɜɵ lɨɫɚls. ȿɫɥɢ ɷɬɨɝɨ ɧɟ ɫɞɟɥɚɬɶ, ɬɨ ɩɨ ɭɦɨɥɱɚɧɢɸ ɢɫ­ɩɨɥɶɡɭɟɬɫɹ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɶ ɢɡ ɞɜɭɯ ɫɢɦɜɨɥɨɜ @@. Ȼɥɨɤɨɦ, ɜ ɩɪɟɞɟɥɚɯ ɤɨɬɨɪɨɝɨ ɦɨɠɧɨ ɨɛɴɹɜɢɬɶ ɥɨɤɚɥɶɧɵɟ ɢɦɟɧɚ, ɦɨɠɟɬ ɛɵɬɶ ɧɟ ɬɨɥɶɤɨ ɮɭɧɤ­ɰɢɹ, ɧɨ ɢ ɭɱɚɫɬɨɤ ɩɪɨɝɪɚɦɦɵ, ɪɚɫɩɨɥɨɠɟɧɧɵɣ ɦɟɠɞɭ ɞɜɭɦɹ ɦɟɬɤɚɦɢ.
Flɚt
STDɋȺLL
Ⱦɢɪɟɤɬɢɜɚ .mɨdel ɡɚɞɚɟɬ ɦɨɞɟɥɶ ɫɟɝɦɟɧɬɚɰɢɢ flɚt ɢ ɫɬɢɥɶ ɝɟɧɟɪɚɰɢɢ
ɩɪɢ ɜɯɨɞɟ ɜ ɩɪɨɰɟɞɭɪɵ ɩɪɨɝɪɚɦɦɵ ɢ ɜɵɯɨɞɟ ɢɡ ɧɢɯ (STDɋȺLL). Ʉɨɞ
ɤɨɞɚ
66
ɡɚɝɪɭɡɨɱɧɨɝɨ ɦɨɞɭɥɹ, ɝɟɧɟɪɢɪɭɟɦɵɣ ɫ ɨɩɰɢɟɣ flɚt, ɛɭɞɟɬ ɪɚɛɨɬɚɬɶ ɧɚ ɦɢɤ­ɪɨɩɪɨɰɟɫɫɨɪɚɯ .386 ɢ ɫɬɚɪɲɟ. ɉɨ ɷɬɨɣ ɩɪɢɱɢɧɟ ɞɢɪɟɤɬɢɜɟ .mɨdel ɞɨɥɠɧɚ ɩɪɟɞɲɟɫɬɜɨɜɚɬɶ ɨɞɧɚ ɢɡ ɞɢɪɟɤɬɢɜ .386, .486 ɢɥɢ .586. ɍɤɚɡɚɧɢɟ ɷɬɨɣ ɦɨɞɟ­ɥɢ ɩɚɦɹɬɢ ɡɚɫɬɚɜɥɹɟɬ ɫ ɩɨɦɨɳɶɸ ɤɨɦɩɨɧɨɜɳɢɤɚ ɫɨɡɞɚɜɚɬɶ ɢɫɩɨɥɧɹɟɦɵɟ ɮɚɣɥ ɫ ɪɚɫɲɢɪɟɧɢɟɦ «*.exe». ȼ ɩɪɨɝɪɚɦɦɟ ɫ ɩɥɨɫɤɨɣ ɦɨɞɟɥɶɸ ɩɚɦɹɬɢ ɢɫ­ɩɨɥɶɡɭɟɬɫɹ ɚɞɪɟɫɚɰɢɹ ɩɪɨɝɪɚɦɦɧɨɝɨ
ɤɨɞɚ ɬɢɩɚ neɚr. ɉɚɪɚɦɟɬɪ STDɋȺLL
ɨɩɪɟɞɟɥɹɟɬ ɩɨɪɹɞɨɤ ɩɟɪɟɞɚɱɢ ɩɚɪɚɦɟɬɪɨɜ ɱɟɪɟɡ ɫɬɟɤ, ɫɩɪɚɜɚ ɧɚɥɟɜɨ. Ɏɭɧɤɰɢɢ Win32ȺɊI, ɢɫɩɨɥɶɡɭɟɦɵɟ ɜ ɩɪɨɝɪɚɦɦɟ, ɞɨɥɠɧɵ ɛɵɬɶ ɨɛɴɹɜɥɟɧɵ ɜɧɟɲɧɢɦɢ ɫ ɩɨɦɨɳɶɸ ɞɢɪɟɤɬɢɜɵ extrn. ɗɬɨ ɧɟɨɛɯɨɞɢɦɨ ɫɞɟɥɚɬɶ ɞɥɹ ɬɨɝɨ, ɱɬɨɛɵ ɤɨɦɩɢɥɹɬɨɪ ɦɨɝ ɫɝɟɧɟɪɢɪɨɜɚɬɶ ɩɪɚɜɢɥɶɧɵɣ ɤɨɞ, ɬɚɤ ɤɚɤ ɬɟɥɚ ɮɭɧɤ­ɰɢɣ Win32ȺɊI ɫɨɞɟɪɠɚɬɫɹ ɜ dll-
ɛɢɛɥɢɨɬɟɤɚɯ ɫɢɫɬɟɦɵ Windɨws. ȼ ɫɨɨɬ­ɜɟɬɫɬɜɢɢ ɫ ɫɨɝɥɚɲɟɧɢɹɦɢ ɨɩɟɪɚɰɢɨɧɧɨɣ ɫɢɫɬɟɦɵ Windɨws ɨɤɨɧɧɚɹ ɮɭɧɤ­ɰɢɹ ɩɪɢɥɨɠɟɧɢɹ ɞɨɥɠɧɚ ɛɵɬɶ ɜɢɞɢɦɨɣ ɡɚ ɩɪɟɞɟɥɚɦɢ ɩɪɢɥɨɠɟɧɢɹ, ɜ ɤɨɬɨ­ɪɨɦ ɨɧɚ ɧɚɩɢɫɚɧɚ. ɗɬɨ ɫɜɹɡɚɧɨ ɫ ɬɟɦ, ɱɬɨ ɨɤɨɧɧɚɹ ɮɭɧɤɰɢɹ ɜɵɡɵɜɚɟɬɫɹ ɫɚ­ɦɨɣ ɨɩɟɪɚɰɢɨɧɧɨɣ ɫɢɫɬɟɦɨɣ Windɨws ɩɪɢ ɩɨɫɬɭɩɥɟɧɢɢ ɫɨɨɛɳɟɧɢɹ ɞɥɹ ɞɚɧɧɨɝɨ ɩɪɢɥɨɠɟɧɢɹ. Ɂɚɝɪɭɡɱɢɤ Windɨws ɫɚɦɨɫɬɨɹɬɟɥɶɧɨ ɡɚɝɪɭɠɚɟɬ ɫɟɝ­ɦɟɧɬɧɵɟ ɪɟɝɢɫɬɪɵ, ɩɪɢ ɷɬɨɦ ɭɱɢɬɵɜɚɟɬɫɹ ɬɪɟɛɭɟɦɚɹ ɦɨɞɟɥɶ ɩɚɦɹɬɢ.
ɉɨɞ ɤɥɚɫɫɨɦ ɨɤɧɚ ɩɨɧɢɦɚɟɬɫɹ ɫɨɜɨɤɭɩɧɨɫɬɶ ɩɪɢɫɭɳɢɯ ɟɦɭ ɯɚɪɚɤɬɟ­ɪɢɫɬɢɤ, ɬɚɤɢɯ ɤɚɤ ɫɬɢɥɶ ɟɝɨ ɝɪɚɧɢɰ, ɮɨɪɦ ɤɭɪɫɨɪɚ, ɩɢɤɬɨɝɪɚɦɦ, ɰɜɟɬ ɮɨɧɚ, ɧɚɥɢɱɢɟ ɦɟɧɸ ɢ ɬ. ɞ. ɏɚɪɚɤɬɟɪɢɫɬɢɤɢ ɨɤɧɚ ɨɩɢɫɵɜɚɸɬɫɹ ɫ ɩɨɦɨɳɶɸ ɫɩɟ­ɰɢɚɥɶɧɨɣ ɫɬɪɭɤɬɭɪɵ WND ɋLȺSS.
WND ɋLȺSS
WNDɋLȺSSEX – wɫl
ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɜ
ɩɪɨɝɪɚɦɦɟ:
wɫl WNDɋLȺSSEX <?>
ȼ ɫɟɝɦɟɧɬɟ ɞɚɧɧɵɯ ɨɩɪɟɞɟɥɟɧ ɷɤɡɟɦɩɥɹɪ ɫɬɪɭɤɬɭɪɵ WNDɋLȺSSEX – wɫl. ɉɟɪɜɨɟ ɩɨɥɟ ɫɬɪɭɤɬɭɪɵ WNDɋLȺSSEX ɞɨɥɠɧɨ ɫɨɞɟɪɠɚɬɶ ɞɥɢɧɭ
ɫɬɪɭɤɬɭɪɵ. ȼ ɩɨɥɟ style ɦɨɠɧɨ ɨɩɪɟɞɟɥɹɬɶ ɫɬɢɥɶ ɝɪɚɧɢɰ ɨɤɧɚ ɢ ɟɝɨ ɩɨɜɟ­ɞɟɧɢɟ ɩɪɢ ɩɟɪɟɪɢɫɨɜɤɟ. Ɂɧɚɱɟɧɢɟ ɫɬɢɥɹ ɩɪɟɞɫɬɚɜɥɹɟɬ ɫɨɛɨɣ ɰɟɥɨɱɢɫɥɟɧ­ɧɨɟ ɡɧɚɱɟɧɢɟ, ɮɨɪɦɢɪɭɟɦɨɟ ɢɡ ɤɨɧɫɬɚɧɬ.
lɪfnWnd
Ɋrɨɫ
hIɫɨn ɢ hɋursɨr
hbrBɚɫkgrɨund
GetStɨɫkɈbjeɫt
ȼ ɩɨɥɟ lɪfnWndɊrɨɫ ɡɚɩɢɫɵɜɚɟɬɫɹ ɚɞɪɟɫ ɨɤɨɧɧɨɣ ɮɭɧɤɰɢɢ. ɋ ɟɟ ɩɨ­ɦɨɳɶɸ ɜɫɟ ɨɤɧɚ, ɫɨɡɞɚɜɚɟɦɵɟ ɧɚ ɨɫɧɨɜɟ ɷɬɨɝɨ ɤɥɚɫɫɚ, ɛɭɞɭɬ ɨɛɪɚɛɚɬɵɜɚɬɶ ɩɨɫɥɚɧɧɵɟ ɢɦ ɫɨɨɛɳɟɧɢɹ. ȼ ɩɨɥɹ hIɫɨn ɢ hɋursɨr ɡɚɝɪɭɠɚɸɬɫɹ ɞɟɫɤɪɢɩ­ɬɨɪɵ ɡɧɚɱɤɚ ɢ
ɤɭɪɫɨɪɚ. ɉɨɫɥɟ ɡɚɩɭɫɤɚ ɩɪɢɥɨɠɟɧɢɹ ɡɧɚɱɨɤ ɛɭɞɟɬ ɨɬɨɛɪɚ-
ɠɚɬɶɫɹ ɧɚ ɩɚɧɟɥɢ ɡɚɞɚɱ ɢ ɜ ɥɟɜɨɦ ɜɟɪɯɧɟɦ ɭɝɥɭ ɩɪɢɥɨɠɟɧɢɹ, ɚ ɤɭɪɫɨɪ ɩɨ­ɹɜɢɬɫɹ ɜ ɨɛɥɚɫɬɢ ɨɤɧɚ. ɉɨɥɟ hbrBɚɫkgrɨund ɞɨɥɠɧɨ ɫɨɞɟɪɠɚɬɶ ɡɧɚɱɟɧɢɟ ɞɟɫɤɪɢɩɬɨɪɚ ɤɢɫɬɢ, ɩɪɟɞɫɬɚɜɥɹɸɳɟɣ ɫɨɛɨɣ ɪɟɫɭɪɫ, ɤɨɬɨɪɵɦ ɡɚɤɪɚɲɢɜɚɟɬ-
67
ɫɹ ɧɟɤɨɬɨɪɵɣ ɨɛɴɟɤɬ, ɬ. ɟ. ɮɨɧ ɨɤɧɚ ɩɪɢɥɨɠɟɧɢɹ ɧɟɤɨɬɨɪɨɝɨ ɤɥɚɫɫɚ. Ⱦɥɹ ɩɨɥɭɱɟɧɢɹ ɬɚɤɨɝɨ ɞɟɫɤɪɢɩɬɨɪɚ ɧɟɨɛɯɨɞɢɦɨ ɢɫɩɨɥɶɡɨɜɚɬɶ ɮɭɧɤɰɢɸ
GetStɨɫkɈbjeɫt. ȼ ɤɚɱɟɫɬɜɟ ɩɚɪɚɦɟɬɪɚ ɟɣ ɩɟɪɟɞɚɟɬɫɹ ɢɦɹ ɧɭɠɧɨɣ ɤɢɫɬɢ.
lɪszMenuNɚme
szɋlɚssNɚme
RegisterɋlɚssExȺ
ȼ ɩɨɥɟ lɪszMenuNɚme ɡɚɩɢɫɵɜɚɟɬɫɹ ɭɤɚɡɚɬɟɥɶ ɧɚ ȺSɋIIZ-ɫɬɪɨɤɭ ɫ ɢɦɟɧɟɦ ɦɟɧɸ. ȿɫɥɢ ɦɟɧɸ ɧɟ ɢɫɩɨɥɶɡɭɟɬɫɹ, ɬɨ ɜ ɩɨɥɟ ɡɚɩɢɫɵɜɚɟɬɫɹ ɡɧɚɱɟ­ɧɢɟ NULL. ɉɨɫɥɟɞɧɟɟ ɞɟɣɫɬɜɢɟ ɩɪɢ ɨɩɢɫɚɧɢɢ ɤɥɚɫɫɚ ɨɤɧɚ – ɩɪɢɫɜɨɟɧɢɟ ɟɦɭ ɭɧɢɤɚɥɶɧɨɝɨ ɢɦɟɧɢ. Ɉɧɨ ɨɩɢɫɚɧɨ ɜ ɜɢɞɟ ȺSɋIIZ-ɫɬɪɨɤɢ ɜ ɩɨɥɟ szɋlɚssNɚme ɫɟɝɦɟɧɬɚ ɞɚɧɧɵɯ. ɉɨɫɥɟ ɢɧɢɰɢɚɥɢɡɚɰɢɢ ɫɬɪɭɤɬɭɪɵ ɧɟɨɛɯɨ­ɞɢɦɨ ɡɚɪɟɝɢɫɬɪɢɪɨɜɚɬɶ ɤɥɚɫɫ ɨɤɧɚ ɜ ɫɢɫɬɟɦɟ. ɗɬɨ ɞɟɣɫɬɜɢɟ ɜɵɩɨɥɧɹɟɬɫɹ
ɫ
ɩɨɦɨɳɶɸ ɮɭɧɤɰɢɢ RegisterɋlɚssExȺ, ɤɨɬɨɪɨɣ ɜ ɤɚɱɟɫɬɜɟ ɩɚɪɚɦɟɬɪɚ ɩɟɪɟ­ɞɚɟɬɫɹ ɭɤɚɡɚɬɟɥɸ ɧɚ ɫɬɪɭɤɬɭɪɭ WNDɋLȺSSEX.
Ɉɤɨɧɧɚɹ ɮɭɧɤɰɢɹ ɩɪɟɞɧɚɡɧɚɱɟɧɚ ɞɥɹ ɨɪɝɚɧɢɡɚɰɢɢ ɚɞɟɤɜɚɬɧɨɣ ɪɟɚɤ­ɰɢɢ ɫɨ ɫɬɨɪɨɧɵ ɩɪɢɥɨɠɟɧɢɹ ɧɚ ɞɟɣɫɬɜɢɹ ɩɨɥɶɡɨɜɚɬɟɥɹ ɢ ɩɨɞɞɟɪɠɚɧɢɹ ɜ ɚɤɬɭɚɥɶɧɨɦ ɫɨɫɬɨɹɧɢɢ ɬɨɝɨ ɨɤɧɚ ɩɪɢɥɨɠɟɧɢɹ, ɫɨɨɛɳɟɧɢɹ ɤɨɬɨɪɨɝɨ ɨɧɚ ɨɛɪɚɛɚɬɵɜɚɟɬ. ɉɪɢɥɨɠɟɧɢɟ ɦɨɠɟɬ ɢɦɟɬɶ ɧɟɫɤɨɥɶɤɨ ɨɤɨɧɧɵɯ ɮɭɧɤɰɢɣ. ɂɯ ɤɨɥɢɱɟɫɬɜɨ ɨɩɪɟɞɟɥɹɟɬɫɹ ɱɢɫɥɨɦ ɤɥɚɫɫɨɜ ɨɤɧɚ, ɡɚɪɟɝɢɫɬɪɢɪɨɜɚɧɧɵɯ ɜ ɫɢ­ɫɬɟɦɟ. ȿɫɥɢ ɞɥɹ ɨɤɧɚ Windɨws-ɩɪɢɥɨɠɟɧɢɹ ɩɨɹɜɥɹɟɬɫɹ ɫɨɨɛɳɟɧɢɟ, ɬɨ ɨɩɟɪɚɰɢɨɧɧɚɹ ɫɢɫɬɟɦɚ Windɨws ɩɪɨɢɡɜɨɞɢɬ ɜɵɡɨɜ ɫɨɨɬɜɟɬɫɬɜɭɸɳɟɣ ɨɤɨɧɧɨɣ ɮɭɧɤɰɢɢ. ɋɨɨɛɳɟɧɢɹ ɜ ɡɚɜɢɫɢɦɨɫɬɢ ɨɬ ɢɫɬɨɱɧɢɤɚ ɢɯ ɩɨɹɜɥɟɧɢɹ ɜ ɨɤɨɧɧɨɣ ɮɭɧɤɰɢɢ ɦɨɝɭɬ ɛɵɬɶ ɞɜɭɯ ɬɢɩɨɜ: ɫɢɧɯɪɨɧɧɵɟ ɢ ɚɫɢɧɯɪɨɧɧɵɟ.
Ʉ ɫɢɧɯɪɨɧɧɵɦ ɨɬɧɨɫɹɬɫɹ ɬɟ ɫɨɨɛɳɟɧɢɹ, ɤɨɬɨɪɵɟ ɪɚɡɦɟɳɟɧɵ ɜ ɨɱɟɪɟ­ɞɢ ɫɨɨɛɳɟɧɢɣ ɩɪɢɥɨɠɟɧɢɹ ɞɨ ɬɨɝɨ ɦɨɦɟɧɬɚ, ɤɨɝɞɚ ɨɧɢ ɛɭɞɭɬ ɜɵɛɪɚɧɵ ɮɭɧɤɰɢɟɣ. ɉɨɫɥɟ ɷɬɨɝɨ ɩɨɫɬɭɩɢɜɲɢɟ ɫɨɨɛɳɟɧɢɹ ɩɨɩɚɞɚɸɬ ɜ ɨɤɨɧɧɭɸ ɮɭɧɤɰɢɸ, ɝɞɟ ɢ ɩɪɨɢɡɜɨɞɢɬɫɹ ɢɯ ɨɛɪɚɛɨɬɤɚ. Ⱥɫɢɧɯɪɨɧɧɵɟ ɫɨɨɛɳɟɧɢɹ ɩɪɨɧɢɤɚɸɬ ɜ ɨɤɨɧɧɭɸ ɮɭɧɤɰɢɸ ɜ ɷɤɫɬɪɟɧɧɨɦ ɩɨɪɹɞɤɟ, ɦɢɧɭɹ ɩɪɢ ɷɬɨɦ ɜɫɟ ɨɱɟɪɟɞɢ. Ʉɨɨɪɞɢɧɚɰɢɸ ɫɢɧɯɪɨɧɧɵɯ ɢ ɚɫɢɧɯɪɨɧɧɵɯ ɫɨɨɛɳɟɧɢɣ ɨɫɭ­ɳɟɫɬɜɥɹɟɬ Windɨws.
GetMessɚge
DisɪɚtɫhMessɚge
ȿɫɥɢ ɪɚɫɫɦɚɬɪɢɜɚɬɶ ɫɢɧɯɪɨɧɧɨɟ ɫɨɨɛɳɟɧɢɟ, ɬɨ ɟɝɨ ɢɡɜɥɟɱɟɧɢɟ ɩɪɨɢɡ­ɜɨɞɢɬɫɹ ɮɭɧɤɰɢɟɣ GetMessɚge ɫ ɩɨɫɥɟɞɭɸɳɟɣ ɩɟɪɟɞɚɱɟɣ ɟɝɨ ɨɛɪɚɬɧɨ ɜ Windɨws ɮɭɧɤɰɢɟɣ DisɪɚtɫhMessɚge. Ⱥɫɢɧɯɪɨɧɧɨɟ ɫɨɨɛɳɟɧɢɟ, ɧɟɡɚɜɢɫɢ­ɦɨ ɨɬ ɢɫɬɨɱɧɢɤɚ, ɤɨɬɨɪɵɣ ɢɧɢɰɢɢɪɭɟɬ ɟɝɨ ɩɨɹɜɥɟɧɢɟ, ɫɧɚɱɚɥɚ ɩɨɩɚɞɚɟɬ ɜ Windɨws ɢ ɡɚɬɟɦ ɜ ɧɭɠɧɭɸ ɨɤɨɧɧɭɸ ɮɭɧɤɰɢɸ.
ȼ Windɨws ɭɱɢɬɵɜɚɟɬɫɹ, ɱɬɨɛɵ ɨɤɨɧɧɚɹ ɮɭɧɤɰɢɹ ɫɨɯɪɚɧɹɥɚ ɡɧɚɱɟɧɢɹ ɪɟɝɢɫɬɪɨɜ ebi, edi, esi. ɉɪɢɱɢɧɚ ɡɚɤɥɸɱɚɟɬɫɹ ɜ ɬɨɦ, ɱɬɨ ɮɭɧɤɰɢɹ ɞɨɥɠɧɚ ɛɵɬɶ ɪɟɤɭɪɫɢɜɧɨɣ. ȼɨɡɦɨɠɧɚ ɫɢɬɭɚɰɢɹ, ɤɨɝɞɚ ɧɟɫɤɨɥɶɤɨ ɤɥɚɫɫɨɜ ɨɤɨɧ ɢɫ­ɩɨɥɶɡɭɸɬ ɨɞɧɭ ɢ ɬɭ ɠɟ ɨɤɨɧɧɭɸ ɮɭɧɤɰɢɸ ɞɥɹ ɨɛɪɚɛɨɬɤɢ ɫɨɨɛɳɟɧɢɣ, ɩɨ-
68
ɫɬɭɩɚɸɳɢɯ ɜ ɫɨɡɞɚɧɧɵɟ ɧɚ ɛɚɡɟ ɷɬɢɯ ɤɥɚɫɫɨɜ ɨɤɧɚ. ɂɦɟɟɬ ɫɦɵɫɥ ɫɨɯɪɚ­ɧɹɬɶ ɢ ɞɪɭɝɢɟ ɪɟɝɢɫɬɪɵ, ɡɚ ɢɫɤɥɸɱɟɧɢɟɦ eɚx, ɟɫɥɢ ɨɧɢ ɡɚɞɟɣɫɬɜɨɜɚɧɵ ɜ ɨɤɨɧɧɨɣ ɮɭɧɤɰɢɢ. ɂɫɯɨɞɹ ɢɡ ɬɪɟɛɨɜɚɧɢɹ ɪɟɤɭɪɫɢɜɧɨɫɬɢ, ɜɫɟ ɩɟɪɟɦɟɧɧɵɟ, ɢɫɩɨɥɶɡɭɟɦɵɟ ɜ ɨɤɨɧɧɨɣ ɮɭɧɤɰɢɢ, ɞɨɥɠɧɵ ɛɵɬɶ ɥɨɤɚɥɶɧɵɦɢ. Ⱦɥɹ ɭɞɨ­ɜɥɟɬɜɨɪɟɧɢɹ ɬɪɟɛɨɜɚɧɢɣ ɫɨɯɪɚɧɟɧɢɹ ɪɟɝɢɫɬɪɨɜ ɥɭɱɲɟ ɢɫɩɨɥɶɡɨɜɚɬɶ ɫɨɨɬ­ɜɟɬɫɬɜɭɸɳɟɟ ɫɪɟɞɫɬɜɨ ɬɪɚɧɫɥɹɬɨɪɚ ɚɫɫɟɦɛɥɟɪɚ
– ɞɢɪɟɤɬɢɜɭ uses. ɉɪɢ ɟɟ
ɢɫɩɨɥɶɡɨɜɚɧɢɢ ɬɪɚɧɫɥɹɬɨɪ ɜɫɬɚɜɥɹɟɬ ɜ ɧɚɱɚɥɨ ɢ ɜ ɤɨɧɟɰ ɨɤɨɧɧɨɣ ɮɭɧɤɰɢɢ ɫɨɨɬɜɟɬɫɬɜɭɸɳɭɸ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɶ ɤɨɦɚɧɞ ɚɫɫɟɦɛɥɟɪɚ ɪush.
ɐɟɧɬɪɚɥɶɧɵɦ ɦɟɫɬɨɦ ɨɤɨɧɧɨɣ ɮɭɧɤɰɢɢ ɹɜɥɹɟɬɫɹ ɫɢɧɬɚɤɫɢɱɟɫɤɚɹ ɤɨɧ­ɫɬɪɭɤɰɢɹ, ɜ ɡɚɞɚɱɭ ɤɨɬɨɪɨɣ ɜɯɨɞɢɬ ɪɚɫɩɨɡɧɚɜɚɧɢɟ ɩɨɫɬɭɩɢɜɲɟɝɨ ɫɨɨɛɳɟ­ɧɢɹ ɩɨ ɟɝɨ ɬɢɩɭ ɢ ɩɟɪɟɞɚɱɚ ɭɩɪɚɜɥɟɧɢɹ ɧɚ ɬɭ ɜɟɬɜɶ ɤɨɞɚ ɨɤɨɧɧɨɣ ɮɭɧɤɰɢɢ, ɤɨɬɨɪɚɹ ɩɪɨɞɨɥɠɚɟɬ ɪɚɛɨɬɭ
ɫ ɩɚɪɚɦɟɬɪɚɦɢ ɫɨɨɛɳɟɧɢɹ. ɉɨ ɡɚɜɟɪɲɟɧɢɸ
ɪɚɛɨɬɵ ɨɤɨɧɧɚɹ ɮɭɧɤɰɢɹ ɮɨɪɦɢɪɭɟɬ ɡɧɚɱɟɧɢɟ ɜ ɪɟɝɢɫɬɪɟ eɚx. ȿɫɥɢ ɫɨɨɛ­ɳɟɧɢɟ ɨɛɪɚɛɚɬɵɜɚɥɨɫɶ ɜ ɨɤɨɧɧɨɣ ɮɭɧɤɰɢɢ, ɬɨ ɜ eɚx ɧɟɨɛɯɨɞɢɦɨ ɩɨɦɟ­ɫɬɢɬɶ ɧɭɥɟɜɨɟ ɡɧɚɱɟɧɢɟ.
Ⱦɥɹ ɜɤɥɸɱɟɧɢɹ ɪɟɫɭɪɫɨɜ ɜ Windɨws-ɩɪɢɥɨɠɟɧɢɹ, ɧɚɩɢɫɚɧɧɵɟ ɧɚ ɚɫ­ɫɟɦɛɥɟɪɟ, ɢɫɩɨɥɶɡɭɸɬ ɬɭ ɠɟ ɬɟɯɧɨɥɨɝɢɸ, ɱɬɨ ɢ ɞɥɹ ɩɪɨɝɪɚɦɦ ɧɚ ɋ/
ɋ++. Ɋɟɫɭɪɫ – ɷɬɨ ɫɩɟɰɢɚɥɶɧɵɣ ɨɛɴɟɤɬ, ɢɫɩɨɥɶɡɭɟɦɵɣ ɩɪɨɝɪɚɦɦɨɣ, ɧɨ ɧɟ ɨɩɪɟ­ɞɟɥɹɟɦɵɣ ɜ ɟɟ ɬɟɥɟ. Ʉ ɪɟɫɭɪɫɚɦ ɨɬɧɨɫɹɬɫɹ ɫɥɟɞɭɸɳɢɟ ɷɥɟɦɟɧɬɵ ɩɨɥɶɡɨɜɚ­ɬɟɥɶɫɤɨɝɨ ɢɧɬɟɪɮɟɣɫɚ: ɡɧɚɱɤɢ, ɦɟɧɸ, ɨɤɧɚ ɞɢɚɥɨɝɚ ɢ ɬ. ɞ.
Ɉɩɪɟɞɟɥɟɧɢɟ ɪɟɫɭɪɫɨɜ ɩɪɨɢɡɜɨɞɢɬɫɹ ɜ ɬɟɤɫɬɨɜɨɦ ɮɚɣɥɟ ɫ ɪɚɫɲɢɪɟɧɢ-
ɟɦ «*.rɫ». ɉɨɞɝɨɬɨɜɤɭ ɷɬɨɝɨ ɮɚɣɥɚ ɦɨɠɧɨ ɩɪɨɢɡɜɨɞɢɬɶ ɞɜɭɦɹ ɫɩɨɫɨɛɚɦɢ: ɪɭɱɧɵɦ ɢ ɚɜɬɨɦɚɬɢɡɢɪɨɜɚɧɧɵɦ. Ɋɭɱɧɨɣ
ɫɩɨɫɨɛ ɩɪɟɞɩɨɥɚɝɚɟɬ ɫɥɟɞɭɸɳɟɟ: ɪɚɡɪɚɛɨɬɱɢɤ ɪɟɫɭɪɫɚ ɯɨɪɨɲɨ ɡɧɚɟɬ ɨɩɟɪɚɬɨɪɵ, ɧɟɨɛɯɨɞɢɦɵɟ ɞɥɹ ɨɩɢɫɚɧɢɹ ɤɨɧɤɪɟɬɧɨɝɨ ɪɟɫɭɪɫɚ; ɜɜɨɞ ɬɟɤɫɬɚ ɪɟɫɭɪɫɧɨɝɨ ɮɚɣɥɚ ɜɵɩɨɥɧɹɟɬɫɹ ɫ ɩɨɦɨ­ɳɶɸ ɪɟɞɚɤɬɨɪɚ, ɤɨɬɨɪɵɣ ɧɟ ɜɫɬɚɜɥɹɟɬ ɜ ɜɜɨɞɢɦɵɣ ɬɟɤɫɬ ɷɥɟɦɟɧɬɵ ɮɨɪɦɚ­ɬɢɪɨɜɚɧɢɹ.
Ⱥɜɬɨɦɚɬɢɱɟɫɤɢɣ ɫɩɨɫɨɛ ɫɨɡɞɚɧɢɹ ɪɟɫɭɪɫɧɨɝɨ ɮɚɣɥɚ ɩɪɟɞɩɨɥɚɝɚɟɬ ɢɫ­ɩɨɥɶɡɨɜɚɧɢɟ ɫɩɟɰɢɚɥɶɧɨɣ ɩɪɨɝɪɚɦɦɵ – ɪɟɞɚɤɬɨɪɚ ɪɟɫɭɪɫɨɜ, ɤɨɬɨɪɵɣ ɩɨɡ­ɜɨɥɹɟɬ ɜɢɡɭɚɥɢɡɢɪɨɜɚɬɶ ɩɪɨɰɟɫɫ ɢɯ ɫɨɡɞɚɧɢɹ. Ʉɨɧɟɱɧɵɟ
ɪɟɡɭɥɶɬɚɬɵ ɪɚɛɨ-
ɬɵ ɷɬɨɣ ɩɪɨɝɪɚɦɦɵ ɦɨɝɭɬ ɛɵɬɶ ɞɜɭɯ ɜɢɞɨɜ: ɜ ɜɢɞɟ ɬɟɤɫɬɨɜɨɝɨ ɮɚɣɥɚ ɫ ɪɚɫɲɢɪɟɧɢɟɦ «*.rɫ», ɤɨɬɨɪɵɣ ɜɩɨɫɥɟɞɫɬɜɢɢ ɦɨɠɧɨ ɩɨɞɜɟɪɝɚɬɶ ɪɭɱɧɨɦɭ ɪɟɞɚɤɬɢɪɨɜɚɧɢɸ, ɥɢɛɨ ɜ ɜɢɞɟ ɞɜɨɢɱɧɨɝɨ ɮɚɣɥɚ, ɭɠɟ ɩɪɢɝɨɞɧɨɝɨ ɤ ɜɤɥɸɱɟ­ɧɢɸ ɜ ɢɫɩɨɥɧɹɟɦɵɣ ɮɚɣɥ ɩɪɢɥɨɠɟɧɢɹ.
69
ȽɅȺȼȺ 4. ɌȿɏɇɈɅɈȽɂɑȿɋɄɂȿ ɈɋɈȻȿɇɇɈɋɌɂ
15. Ɂɚɳɢɳɟɧɧɵɣ ɪɟɠɢɦ ɪɚɛɨɬɵ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɚ
Ʌɸɛɨɣ ɫɟɝɦɟɧɬ ɩɚɦɹɬɢ ɜ ɡɚɳɢɳɟɧɧɨɦ ɪɟɠɢɦɟ ɢɦɟɟɬ ɫɥɟɞɭɸɳɢɟ ɚɬ­ɪɢɛɭɬɵ:
–
ɪɚɫɩɨɥɨɠɟɧɢɟ ɜ ɩɚɦɹɬɢ;
–
ɪɚɡɦɟɪ;
–
ɭɪɨɜɟɧɶ ɩɪɢɜɢɥɟɝɢɣ – ɩɪɚɜɨ ɨɬɧɨɫɢɬɟɥɶɧɨ ɞɪɭɝɢɯ ɫɟɝɦɟɧɬɨɜ;
–
ɬɢɩ ɞɨɫɬɭɩɚ – ɧɚɡɧɚɱɟɧɢɟ.
ɋɨɫɬɚɜ ɩɟɪɟɱɢɫɥɟɧɧɵɯ ɚɬɪɢɛɭɬɨɜ ɩɨɤɚɡɵɜɚɟɬ, ɱɬɨ ɜ ɡɚɳɢɳɟɧɧɨɦ ɪɟ­ɠɢɦɟ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪ ɚɩɩɚɪɚɬɧɨ ɩɨɞɞɟɪɠɢɜɚɟɬ ɞɜɚ ɬɢɩɚ ɡɚɳɢɬɵ – ɩɨ ɩɪɢɜɢɥɟɝɢɹɦ ɢ ɩɨ ɞɨɫɬɭɩɭ ɤ ɩɚɦɹɬɢ. ȼ ɨɬɥɢɱɢɟ ɨɬ ɪɟɚɥɶɧɨɝɨ ɪɟɠɢɦɚ, ɜ ɡɚɳɢɳɟɧɧɨɦ ɪɟɠɢɦɟ ɩɪɨɝɪɚɦɦɚ ɧɟ ɦɨɠɟɬ ɨɛɪɚɬɢɬɶɫɹ ɩɨ ɥɸɛɨɦɭ ɮɢɡɢɱɟ­ɫɤɨɦɭ ɚɞɪɟɫɭ ɩɚɦɹɬɢ. Ⱦɥɹ ɷɬɨɝɨ ɨɧɚ ɞɨɥɠɧɚ ɛɵɬɶ ɧɚɞɟɥɟɧɚ ɨɩɪɟɞɟɥɟɧɧɵ­ɦɢ ɩɨɥɧɨɦɨɱɢɹɦɢ ɢ ɭɞɨɜɥɟɬɜɨɪɹɬɶ
ɪɹɞɭ ɬɪɟɛɨɜɚɧɢɣ.
Ʉɥɸɱɟɜɵɦ ɨɛɴɟɤɬɨɦ ɡɚɳɢɳɟɧɧɨɝɨ ɪɟɠɢɦɚ ɹɜɥɹɟɬɫɹ ɫɩɟɰɢɚɥɶɧɚɹ ɫɬɪɭɤɬɭɪɚ – ɞɟɫɤɪɢɩɬɨɪ ɫɟɝɦɟɧɬɚ, ɤɨɬɨɪɵɣ ɩɪɟɞɫɬɚɜɥɹɟɬ ɫɨɛɨɣ 8-ɛɚɣɬɨɜɵɣ ɞɟɫɤɪɢɩɬɨɪ ɧɟɩɪɟɪɵɜɧɨɣ ɨɛɥɚɫɬɢ ɩɚɦɹɬɢ. Ʌɸɛɚɹ ɨɛɥɚɫɬɶ ɩɚɦɹɬɢ, ɥɨɝɢɱɟ­ɫɤɢ ɹɜɥɹɸɳɚɹɫɹ ɫɟɝɦɟɧɬɨɦ ɞɚɧɧɵɯ, ɫɬɟɤɚ ɢɥɢ ɤɨɞɚ, ɞɨɥɠɧɚ ɛɵɬɶ ɨɩɢɫɚɧɚ ɬɚɤɢɦ ɞɟɫɤɪɢɩɬɨɪɨɦ. ȼɫɟ ɞɟɫɤɪɢɩɬɨɪɵ ɫɨɛɢɪɚɸɬɫɹ ɜ ɨɞɧɭ ɢɡ ɬɪɟɯ ɞɟ­ɫɤɪɢɩɬɨɪɧɵɯ ɬɚɛɥɢɰ, ɨɩɪɟɞɟɥɟɧɧɵɯ ɟɝɨ ɧɚɡɧɚɱɟɧɢɟɦ. Ⱥɞɪɟɫ ɪɚɡɦɟɳɟɧɢɹ ɞɟɫɤɪɢɩɬɨɪɧɵɯ ɬɚɛɥɢɰ ɦɨɠɟɬ ɛɵɬɶ ɥɸɛɵɦ. Ɉɧ ɯɪɚɧɢɬɫɹ ɜ ɫɩɟɰɢɚɥɶɧɨ ɩɪɟɞɧɚɡɧɚɱɟɧɧɨɦ ɞɥɹ ɧɟɝɨ ɫɟɝɦɟɧɬɧɨɦ ɪɟɝɢɫɬɪɟ.
ɋɟɝɦɟɧɬɧɵɟ ɪɟɝɢɫɬɪɵ ɦɨɠɧɨ ɪɚɡɞɟɥɢɬɶ ɧɚ ɬɪɢ ɝɪɭɩɩɵ:
–
ɩɹɬɶ ɪɟɝɢɫɬɪɨɜ ɭɩɪɚɜɥɟɧɢɹ;
–
ɱɟɬɵɪɟ ɪɟɝɢɫɬɪɚ ɫɢɫɬɟɦɧɵɯ ɚɞɪɟɫɨɜ;
–
ɜɨɫɟɦɶ ɪɟɝɢɫɬɪɨɜ ɨɬɥɚɞɤɢ.
ȼ ɫɨɫɬɚɜ ɫɟɝɦɟɧɬɧɵɯ ɪɟɝɢɫɬɪɨɜ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɨɜ Ɋentium ɜɜɟɞɟɧɵ ɢɡɦɟɧɟɧɢɹ:
–
ɡɚɞɟɣɫɬɜɨɜɚɧ ɪɚɧɟɟ ɡɚɪɟɡɟɪɜɢɪɨɜɚɧɧɵɣ ɪɟɝɢɫɬɪ ɭɩɪɚɜɥɟɧɢɹ ɫr4;
–
ɜɜɟɞɟɧɚ ɝɪɭɩɩɚ MSR-ɪɟɝɢɫɬɪɨɜ (ɦɨɞɟɥɶɧɨ-ɡɚɜɢɫɢɦɵɟ ɪɟɝɢɫɬɪɵ), ɧɚɡɧɚɱɟɧɢɟ ɢ ɜɨɡɦɨɠɧɨɫɬɢ ɤɨɬɨɪɵɯ «ɩɪɢɜɹɡɚɧɵ» ɤ ɤɨɧɤɪɟɬɧɨɣ ɦɨɞɟɥɢ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɚ.
Ɋɟɝɢɫɬɪɵ ɭɩɪɚɜɥɟɧɢɹ. ȼ ɝɪɭɩɩɭ ɪɟɝɢɫɬɪɨɜ ɭɩɪɚɜɥɟɧɢɹ ɜɯɨɞɹɬ ɩɹɬɶ
ɪɟɝɢɫɬɪɨɜ ɫr0-ɫr4, ɩɪɟɞɧɚɡɧɚɱɟɧɧɵɯ ɞɥɹ ɨɛɳɟɝɨ ɭɩɪɚɜɥɟɧɢɹ ɫɢɫɬɟɦɨɣ. Ɉɧɢ ɞɨɫɬɭɩɧɵ ɬɨɥɶɤɨ ɩɪɨɝɪɚɦɦɚɦ ɫ ɭɪɨɜɧɟɦ ɩɪɢɜɢɥɟɝɢɣ 0. ɇɟɫɦɨɬɪɹ ɧɚ ɬɨ, ɱɬɨ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪ ɢɦɟɟɬ ɩɹɬɶ ɪɟɝɢɫɬɪɨɜ ɭɩɪɚɜɥɟɧɢɹ, ɢɡ ɧɢɯ ɞɨɫɬɭɩ­ɧɵ ɬɨɥɶɤɨ ɱɟɬɵɪɟ, ɫr1 ɢɫɤɥɸɱɚɟɬɫɹ, ɩɨɬɨɦɭ ɱɬɨ ɟɝɨ ɮɭɧɤɰɢɢ ɩɨɤɚ ɧɟ ɨɩɪɟɞɟɥɟɧɵ, ɨɧ ɡɚɪɟɡɟɪɜɢɪɨɜɚɧ
ɞɥɹ ɛɭɞɭɳɟɝɨ ɢɫɩɨɥɶɡɨɜɚɧɢɹ.
70
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]