010 рд╕рдВрдкрд╛рджрдХ ( рднрд╛рдЧ I , рднрд╛рдЧ II ) рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдЗрд╕ рдирддреАрдЬреЗ рдкрд░ рдкрд╣реБрдВрдЪрд╛ рдХрд┐ рдмреБрдирд┐рдпрд╛рджреА рдмрд╛рддреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛рдиреЗ рд╕реЗ, рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реЗ рдорджрдж рдХрд╛ рдЕрдиреБрд╡рд╛рдж рд╢реБрд░реВ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд╕рдм рдХреБрдЫ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд░реВрд╕реА рдЕрдиреБрд╡рд╛рдж рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╣рдо 010 рд╕рдВрдкрд╛рджрдХ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд▓рд┐рдЦрдиреЗ рдХреА рдЙрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдВрдЧреЗ рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЦреБрдж рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред
рдмрд╛рдЗрдирд░реА рдЯреЗрдореНрдкреНрд▓реЗрдЯ 010 рд╕рдВрдкрд╛рджрдХ рдХреА рд╕рдмрд╕реЗ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ рдЪрд░ рдФрд░ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рдПрдХ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рд╕реА рднреА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЯреЗрдореНрдкрд▓реЗрдЯ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рд╣реЗрдХреНрд╕ рд╕рдВрдкрд╛рджрдХреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рд╕реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХреЗ рд╕реЗ рдЦреЛрдЬрдиреЗ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдЯреЗрдореНрдкреНрд▓реЗрдЯ "* .bt" рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рдПрдХ рдкрд╛рда рдлрд╝рд╛рдЗрд▓ рд╣реИ, рдЬрд┐рд╕реЗ рдиреЛрдЯрдкреИрдб рдореЗрдВ рдФрд░ рд╕реАрдзреЗ 010 рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдиреВ рджреЗрдЦреЗрдВ)ред рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рд╡реНрдпрд╛рдЦреНрдпрд╛рдпрд┐рдд рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдХрд╛рдо рдХреЗ рдмрд╛рдж рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдЯреЗрдореНрдкрд▓реЗрдЯ рдкрд░рд┐рдгрд╛рдо рдкреИрдирд▓ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд▓реЛрдбрд┐рдВрдЧ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдЦреЛрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд╛рдирдХ рд╕реЗрдЯ 010 рд╕рдВрдкрд╛рджрдХ рдореЗрдВ * .zip, * .bmp рдФрд░ * .wav рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЗрдореНрдкрд▓реЗрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
I - рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдШреЛрд╖рдгрд╛
рдЪрд░ рдХреА рдШреЛрд╖рдгрд╛ рд╕реА рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рдХреЗ рд╕рд╛рде: рдЬрдм рднреА рдХрд┐рд╕реА рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдПрдХ рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЗрдВ "рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд" рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
char header[4]; int numRecords;
рдпрд╣ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╣реЗрдбрд░ рд╡рд░реНрдгреЛрдВ рдХреА рдПрдХ рд╕рд╛рд░рдгреА рдмрдирд╛рдПрдЧрд╛, рдЬреЛ рдЬрд╛рдВрдЪ рдХреА рдЬрд╛ рд░рд╣реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рдкрд╣рд▓реЗ 4 рдмрд╛рдЗрдЯреНрд╕ рдХреЛ "рдХрд╡рд░" рдХрд░реЗрдЧрд╛, рдФрд░ рдкреВрд░реНрдгрд╛рдВрдХ рдЪрд░ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдЕрдЧрд▓реЗ 4 рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдХрд╡рд░ рдХрд░реЗрдЧрд╛ред рджреЛрдиреЛрдВ рдЪрд░ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдкрд░рд┐рдгрд╛рдо рдкреИрдирд▓ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ рдФрд░ рд╕реАрдзреЗ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рд╕рд╛рде рд╕рдореВрд╣ рдЪрд░ рдХрд╛ рдореБрдЦреНрдп рддрд░реАрдХрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ (рд╕рдВрд░рдЪрдирд╛) рдФрд░ рдпреВрдирд┐рдпрдиреЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рдирд╛ рд╣реИред
рд╡рд┐рд╢реЗрд╖ рдЧреБрдг
рд╡рд┐рд╢реЗрд╖ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ 'рдХреЛрдг' ('<' рдФрд░ '>') рдХреЛрд╖реНрдардХ рдХреЗ рдЕрдВрджрд░ рдШреЛрд╖рд┐рдд рдЪрд░ рдХреЗ рдмрд╛рдж рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ:
< format=hex|decimal|octal|binary,
рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдиреАрдЪреЗ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИ, рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде (рдЙрдиреНрд╣реЗрдВ рдХрд╕реНрдЯрдо рд╡рд░реБрдЕрдмрд▓реНрд╕ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИ), рд╕рд╛рде рд╣реА рдЖрдХрд╛рд░ (рдСрди-рдбрд┐рдорд╛рдВрдб рд╕реНрдЯреНрд░рдХреНрдЪрд░реНрд╕ рд╕реЗрдХреНрд╢рди рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИ)ред
рдкреНрд░рджрд░реНрд╢рди рдореЛрдб
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЯреЗрдореНрдкрд▓реЗрдЯ рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╕рднреА рдЪрд░ рджрд╢рдорд▓рд╡ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╣реИрдВред рдЖрдк рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓, рджрд╢рдорд▓рд╡, рдЕрд╖реНрдЯрдХ рдФрд░ рдмрд╛рдЗрдирд░реА рдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП DisplayFormatDecimal, DisplayFormatHex, DisplayFormatBinary рдФрд░ DisplayFormatOctal рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реАрдХрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ:
'<format=hex|decimal|octal|binary>'
рдПрдХ рд╡реИрд░рд┐рдПрдмрд▓ рдпрд╛ рдЯрд╛рдЗрдкрдбрд┐рдлрд╝ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рджред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
int id; int crc <format=hex>; int flags <format=binary>;
рд░рдВрдЧ
рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╕рдордп, рдЖрдк рд╣реЗрдХреНрд╕ рдХреЛрдб рдХреЛ рд╡рд┐рднрд┐рдиреНрди рд░рдВрдЧреЛрдВ рдореЗрдВ рд░рдВрдЧ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓ рд╢реАрд░реНрд╖рд▓реЗрдЦ рдХреЛ рд╢реЗрд╖ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдЕрд▓рдЧ рд░рдВрдЧ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред "рд░рдВрдЧ" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдПрдХрд▓ рдЪрд░ рдХрд╛ рд░рдВрдЧ рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╡рд░реНрдгреЛрдВ рдФрд░ рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рд░рдВрдЧ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖рддрд╛ '<fgcolor = ???>' рдпрд╛ '<bgcolor = ???>' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рддрд░реНрдХ ('???') рдпрд╛ рддреЛ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд░рдВрдЧ рд╕реНрдерд┐рд░рд╛рдВрдХ (cBlack, cYellow, cWhile, рдЖрджрд┐) рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рд╕рдВрдЦреНрдпрд╛ '0xBBGGRR' (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 0xFF0000 рдиреАрд▓рд╛)ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
int id <fgcolor=cBlack, bgcolor=0x0000FF>;
рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛ рд╣реИ SetForeColor, SetBackColor рдФрд░ SetColor рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рдмрд╛рдж рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдЪрд░ рдХреЛ рдЙрдирдХреЗ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд░рдВрдЧ рд╕реМрдВрдкрд╛ рдЬрд╛рдПрдЧрд╛ред 'CNone' рдирд┐рд░рдВрддрд░ рд░рдВрдЧреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
SetForeColor( cRed );
рдмрд╛рдЗрдЯ рдСрд░реНрдбрд░ (рдПрдВрдбрд┐рдпрди)
рдЖрдкрдХреЗ рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмрд╛рдЗрдЯ рдХреНрд░рдо рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ: рдмрдбрд╝рд╛-рдПрдВрдбрд┐рдпрди рдпрд╛ рдереЛрдбрд╝рд╛-рдПрдВрдбрд┐рдпрдиред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕рднреА рдШреЛрд╖рд┐рдд рдЪрд░ рдореЗрдВ рдЕрдзреНрдпрдпрди рдХреЗ рддрд╣рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рдорд╛рди рдмрд╛рдЗрдЯ рдСрд░реНрдбрд░ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЛрдб рдХреЛ рдмрд┐рдЧрдЗрдВрдбрд┐рдпрди () рдФрд░ рд▓рд┐рдЯрд┐рд▓рдПрдВрдбрд┐рдпрди () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмрд╛рдЗрдЯ рдХреНрд░рдо рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рд╣реИ рддреЛ рдЗрд╕ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ
рдЖрдк рд╡рд┐рд╢реЗрд╖рддрд╛ '<рдЯрд┐рдкреНрдкрдгреА =' '> рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪрд░ рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
int machineStatus <comment=" , 15.">;
рдпрд╣ рдЯрд┐рдкреНрдкрдгреА рдЯреЗрдореНрдкрд▓реЗрдЯ рдкрд░рд┐рдгрд╛рдо рдлрд▓рдХ рдХреЗ рдЯрд┐рдкреНрдкрдгреА рдХреЙрд▓рдо рдореЗрдВ рджрд┐рдЦрд╛рдИ рдЬрд╛рдПрдЧреАред рдПрдХ рдордирдорд╛рдиреЗ рдХрд╛рд░реНрдп рдХреЛ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд░реВрдк рдореЗрдВ рднреА рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: '<рдЯрд┐рдкреНрдкрдгреА = <function_name >>'ред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рддрд░реНрдХреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдЪрд░ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЯрд┐рдкреНрдкрдгреА рдХреЙрд▓рдо рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
int machineStatus <comment=MachineStatusComment>; string MachineStatusComment( int status ) { if( status <= 15 ) return "*** - "; else return " "; }
рдирд╛рдо
"рдирд╛рдо" рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЯреЗрдореНрдкрд▓реЗрдЯ рдкрд░рд┐рдгрд╛рдо рдкреИрдирд▓ рдХреЗ рдирд╛рдо рдХреЙрд▓рдо рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдкрд╛рда рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдКрдкрд░ рдЪрд░реНрдЪрд╛ рдХрд┐рдП рдЧрдП рдЯрд┐рдкреНрдкрдгреА рдкреИрд░рд╛рдореАрдЯрд░ рдХреА рддрд░рд╣, рдирд╛рдо рдкреИрд░рд╛рдореАрдЯрд░ '<name = ""> рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдЗрд╕рдореЗрдВ рдПрдХ рдордирдорд╛рдирд╛ рдлрд╝рдВрдХреНрд╢рди' <рдирд╛рдо = <function_name >> 'рд╣реЛ рд╕рдХрддрд╛ рд╣реИред "рдирд╛рдо" рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред "рдЯрд┐рдкреНрдкрдгреА": рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдЪрд░ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓реМрдЯрд╛рддрд╛ рд╣реИ:
byte _si8 <name="Signed Byte">;
рдпрд╣ рдЪрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдкрд░рд┐рдгрд╛рдо рдкреИрдирд▓ рдореЗрдВ "рдмрд╛рдЗрдЯ _si8" рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ "рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдмрд╛рдЗрдЯ" рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрджрд┐ рдЪрд░ рдПрдХ рд╕рд░рдгреА рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рддреЛ рд╕реВрдЪрдХрд╛рдВрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рд░рдгреА рдХреЗ рдирд╛рдо рдХреЛ рд╕реМрдВрдкрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЪрд░реЛрдВ рдХрд╛ рдХреНрд░рдо рдкрдврд╝рдирд╛
рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░ рдШреЛрд╖рд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╡рд░реНрддрдорд╛рди рдкрдврд╝рд╛ рдЧрдпрд╛ рдкрддрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдкрддреЗ рдХреЛ рдПрдлрдЯреЗрд▓ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдПрдлрдПрд╕рдИрдХреЗ рдФрд░ рдПрдлрдПрд╕рдЖрдИрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдВрджреЛрд▓рдиреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рддрдХрдиреАрдХ рдЖрдкрдХреЛ рдХрдбрд╝рд╛рдИ рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЖрджреЗрд╢ рдХреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рд░реАрдбрдмрд╛рдЗрдЯ, рд░реАрдбрд╢реЙрд░реНрдЯ, рд░реАрдбрдЖрдИрдВрдЯ рдЖрджрд┐ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕реНрдерд╛рдиреАрдп рдЪрд░
рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЖрдкрдХреЛ рдЙрди рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдкрд░рд┐рдгрд╛рдо рдкреИрдирд▓ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЬреЛ рдлрд╝рд╛рдЗрд▓ рдХреА рдЖрдВрддрд░рд┐рдХ рд╕рдВрд░рдЪрдирд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ (рдпрд╛рдиреА, рд╡реЗ рд╕рд╛рдзрд╛рд░рдг C / C ++ рдЪрд░ рд╣реИрдВ)ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╕рдордп рдЪрд░ 'рд╕реНрдерд╛рдиреАрдп' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
local int i, total = 0; int recordCounts[5]; for( i = 0; i < 5; i++ ) total += recordCounts[i]; double records[ total ];
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╡реИрд░рд┐рдПрдмрд▓ I рдХреЛ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдкрд░рд┐рдгрд╛рдо рдкреИрдирд▓ рдореЗрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди, рдлрд┐рд░ рднреА, рдЖрдк рд╢реЛ рд▓реЛрдХрд▓ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХрдорд╛рдВрдб (рдЯреЗрдореНрдкрд▓реЗрдЯ рд░рд┐рдЬрд▓реНрдЯреНрд╕ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдерд╛рдиреАрдп рдЪрд░реЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╕реНрдерд┐рддрд┐
рдЯреЗрдореНрдкрд▓реЗрдЯ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╕рднреА рдмрдирд╛рдП рдЧрдП рдЪрд░ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдкрд░рд┐рдгрд╛рдо рдкреИрдирд▓ рдореЗрдВ рдкреЗрдбрд╝ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕рднреА рд╕рд░рдгрд┐рдпрд╛рдБ рдФрд░ рд╕рдВрд░рдЪрдирд╛рдПрдВ "рдврд╣ рдЧрдИ" рд╣реИрдВ рдФрд░ рд╕реВрдЪреА рдореЗрдВ рдХреЗрд╡рд▓ '+' рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ "рд╡рд┐рд╕реНрддрд╛рд░" рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ; рдлрд┐рд░ рднреА, рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕рдВрд░рдЪрдирд╛ рдпрд╛ рд╕рд░рдгреА рддрддреНрд╡реЛрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрднреА-рдХрднреА рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рд╡реЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдЯреЗрдореНрдкрд▓реЗрдЯ рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЪрд░ рдкреИрд░рд╛рдореАрдЯрд░реНрд╕ рдореЗрдВ '<open = true>' рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ '<open = false>' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреБрдЫ рд╕рдВрд░рдЪрдирд╛ рдпрд╛ рд╕рд░рдгреА рдХреЛ рдиреНрдпреВрдирддрдо рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реЗрдЯ рд╣реИ)ред
рдкрдВрдХреНрддрд┐рдпрд╛рдВ
рд╢реВрдиреНрдп-рд╕рдорд╛рдкреНрдд рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 010 рд╕рдВрдкрд╛рджрдХ рдХреЗ рдкрд╛рд╕ рджреЛ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:
char str[];
рдпрд╛
string str;
рдЬрдм рддрдХ рдпрд╣ рд╣рд┐рдЯ рди рд╣реЛ рдЬрд╛рдП, рджреЛрдиреЛрдВ рд▓рд╛рдЗрди рдХреЛ рдкрдврд╝рдирд╛ рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реИрдВред рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ (рд▓рдВрдмреА рд▓рд╛рдЗрдиреЛрдВ) рдореЗрдВ рдПрдиреНрдХреЛрдбреЗрдб рд▓рд╛рдЗрдиреЗрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
wchar_t str[];
рдпрд╛
wstring str;
рд╕реНрдерд╛рдирд╛рдВрддрд░рдг
рдЬрдм рдПрдирдо рдЯрд╛рдЗрдк (рдПрдиреНрдпреВрдорд░реЗрд╢рди) рдХрд╛ рдПрдХ рд╡реИрд░рд┐рдПрдмрд▓ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА рд╡рд╛рд▓рд╛ рдПрдХ рддреАрд░ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдкрд░рд┐рдгрд╛рдо рдлрд▓рдХ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рдПрдиреНрдпреВрдорд░реЗрд╢рди рдХреА рд╕рднреА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рдПрдЧреАред
рдЫрд┐рдкреЗ рд╣реБрдП рдЪрд░
рд╡рд┐рд╢реЗрд╖рддрд╛ '<Hidden = true>' рдЖрдкрдХреЛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдкрд░рд┐рдгрд╛рдо рдкреИрдирд▓ рдореЗрдВ рдЪрд░ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЫрд┐рдкрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, '<рдЫрд┐рдкрд╛ = рдЧрд▓рдд>' - рд░рджреНрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
II - рд╕рдВрд░рдЪрдирд╛рдПрдВ рдФрд░ рд╕рдВрдШ
рд╕рдВрд░рдЪрдирд╛
рд╕реА рдореЗрдВ, рдХреАрд╡рд░реНрдб 'рд╕рдВрд░рдЪрдирд╛' рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; 010 рдореЗрдВ, рдЗрд╕рдХрд╛ рдмрд┐рд▓реНрдХреБрд▓ рдпрд╣реА рдЙрджреНрджреЗрд╢реНрдп рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, C / C ++ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрд░рдЪрдирд╛рдПрдВ рдШреЛрд╖рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВ:
struct myStruct { int a; int b; int c; };
рдпрд╣ рдХреЛрдб рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдирдпрд╛ рдкреНрд░рдХрд╛рд░ myStruct рдмрдирд╛рддрд╛ рд╣реИ, рдЕрдЧрд▓рд╛ рдЪрд░рдг рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рдЪрд░ (рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг) рдШреЛрд╖рд┐рдд рдХрд░рдирд╛ рд╣реИ:
myStruct s;
рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ рдЯрд╛рдЗрдк myStruct рдХрд╛ рдПрдХ рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкреНрд░рд╡реЗрд╢ 'myStruct s' '+' рдЪрд┐рд╣реНрди рдХреЗ рд╕рд╛рде рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред '+' рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ, рдЖрдк рдЪрд░ рдФрд░ рдЙрдирдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреА рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ: a, b, cред
рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реАрдХреЗ рд╕реЗ рднреА рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
struct myStruct { int a; int b; int c; } s1, s2;
рдпрд╣ рдХреЛрдб myStruct рдХреЗ рджреЛ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛ рджреЗрдЧрд╛, s1 рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ рдХреЗ рдкрд╣рд▓реЗ 12 рдмрд╛рдЗрдЯреНрд╕ рдкрд░ рдХрдмреНрдЬрд╛ (рдкреНрд░рддреНрдпреЗрдХ 4 рдмрд╛рдЗрдЯреНрд╕ рдХреЗ 3 рдкреВрд░реНрдгрд╛рдВрдХ рдкреВрд░реНрдгрд╛рдВрдХ рдорд╛рди), рдФрд░ рдЕрдЧрд▓реЗ 12 рдмрд╛рдЗрдЯреНрд╕ s2ред
рдпреЗ рд╕рдВрд░рдЪрдирд╛рдПрдВ рд╕реА рднрд╛рд╖рд╛ рдорд╛рдирдХ рдХреА рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ "рд╢рдХреНрддрд┐рд╢рд╛рд▓реА" рд╣реИрдВред 010 рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рдХреЗ рднрд╛рд╡реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬреИрд╕реЗ рдХрд┐, рдХреЗ рд▓рд┐рдП, рдЬрдмрдХрд┐ рд╕рдорд░реНрдерд┐рдд рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
struct myIfStruct { int a; if( a > 5 ) int b; else int c; } s;
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╕рдВрд░рдЪрдирд╛ рдПрд╕ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдХреЗрд╡рд▓ рджреЛ рдЪрд░ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ: рдП рдпрд╛ рддреЛ рдмреА рдпрд╛ рд╕реАред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкреИрдЯрд░реНрди рдХреЛ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд┐рдП рдЧрдП рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рд╕рднреА рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд╕реАрдзреЗ рдХрд┐рд╕реА рдХрд╛ рдорд╛рди рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕рдВрд░рдЪрдирд╛рдПрдВ рднреА рдиреЗрд╕реНрдЯреЗрдб рд╣реЛ рд╕рдХрддреА рд╣реИрдВ:
struct { int width; struct COLOR { uchar r, g, b; } colors[width]; } line1;
рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реАрдХрд╛ рдЯрд╛рдЗрдкреНрдбрд┐рдл рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
typedef struct { ushort id; int size; } myData;
рд╕рдВрдШреЛрдВ
рдпреВрдирд┐рдпрдиреЛрдВ рдХреЛ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХрдорд╛рддреНрд░ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдХреАрд╡рд░реНрдб 'рд╕рдВрдШ' рдХрд╛ рдЙрдкрдпреЛрдЧ 'рд╕рдВрд░рдЪрдирд╛' рдХреЗ рдмрдЬрд╛рдп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпреВрдирд┐рдпрдиреЛрдВ рдореЗрдВ, рд╕рднреА рдЪрд░ "рд╢реВрдиреНрдп рд╕реНрдерд┐рддрд┐" рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд рд╕реНрд╡рдпрдВ рд╕рдВрдШ рдХреЗ рдкрддреЗ рд╕реЗ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, "рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рдУрд╡рд░рд▓реИрдк")ред рдмрд╛рдЗрдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕рдВрдШ рдХрд╛ рдЖрдХрд╛рд░ рдЕрдзрд┐рдХрддрдо рдЪрд░ рдХрд╛ рдЖрдХрд╛рд░ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
union myUnion { ushort s; double d; int i; } u;
рд╕рднреА рддреАрди рдЪрд░ рдПрдХ рд╣реА рдкрддреЗ рд╕реЗ рд╢реБрд░реВ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ рдФрд░ рд╕рдВрдШ рдХрд╛ рдЖрдХрд╛рд░ 8 рдмрд╛рдЗрдЯ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдЯрд╛рдЗрдк рдбрдмрд▓ рдХрд╛ рдПрдХ рдЪрд░ рд╣реЛрддрд╛ рд╣реИред
рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрд░рдЪрдирд╛рдПрдВ рдФрд░ рдЬреБрдбрд╝рдирд╛
рдХреАрд╡рд░реНрдб 'рд╕рдВрд░рдЪрдирд╛' рдпрд╛ 'рдпреВрдирд┐рдпрди' рдХреЗ рдмрд╛рдж рд╕рдВрд░рдЪрдирд╛рдУрдВ рдпрд╛ рдпреВрдирд┐рдпрдиреЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╕рдордп, рдЖрдк рддрд░реНрдХреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЬрдЯрд┐рд▓ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХрд╛ рд╣реИ, рддрд░реНрдХреЛрдВ рдХреА рд╕реВрдЪреА рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдлрд╝рдВрдХреНрд╢рдиред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
struct VarSizeStruct (int arraySize) { int id; int array[arraySize]; };
рдЙрджрд╛рд╣рд░рдг рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╕рдордп рдЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдХреЛрд╖реНрдардХреЛрдВ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рддрд░реНрдХреЛрдВ рдХреЛ рд╕рдВрд▓рдЧреНрди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
VarSizeStruct s1(5); VarSizeStruct s2(7);
рддрд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдФрд░ рдпреВрдирд┐рдпрдиреЛрдВ рдореЗрдВ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ рдЯрд╛рдЗрдкрд░рд╛рдЗрдл рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
typedef struct (int arraySize) { int id; int array[arraySize]; } VarSizeStruct;
III - рдПрд░реЗ, рдбреБрдкреНрд▓рд┐рдХреЗрдЯ, рдЕрдиреБрдХреВрд▓рди
Arrays рдФрд░ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ
010 рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рддрд░реАрдХреЗ рд╕реЗ рдПрд░реЗ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЙрд╕реА рдирд╛рдо (рдбреБрдкреНрд▓рд┐рдХреЗрдЯ) рдХреЗ рд╕рд╛рде рдШреЛрд╖рд┐рдд рдЪрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
int x; int y; int x;
010 рд╕рдВрдкрд╛рджрдХ рдореЗрдВ, рдПрдХ рд╣реА рдирд╛рдо рдХреЗ рд╕рд╛рде рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд░рдирд╛ рдПрдХ рд╕рд░рдгреА рдмрдирд╛рдиреЗ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, x [0] рдХрд╛ рдЙрдкрдпреЛрдЧ x рдХреЗ рдкрд╣рд▓реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ x [1] рдХреЛ рджреВрд╕рд░реЗ рдХреЗ рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд╛рдЗрдХрд┐рд▓ рдореЗрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рднреА рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
local int i; for( i = 0; i < 5; i++ ) int x;
рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рдЕрдиреБрдХреВрд▓рди
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ 010 рд╕рдВрдкрд╛рджрдХ рдЕрдиреБрдХреВрд▓рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рддрддреНрд╡реЛрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдорд┐рд▓рд┐рдпрди) рдХреЗ рд╕рд╛рде рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред рдЕрдиреБрдХреВрд▓рди рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рд╕рд░рдгреА рдХреЗ рдкрд╣рд▓реЗ рддрддреНрд╡ рдХреЗ рдЖрдХрд╛рд░ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЕрдиреНрдп рд╕рднреА рддрддреНрд╡ рд╕рдорд╛рди рдЖрдХрд╛рд░ рд╣реЛрдВрдЧреЗред рддрджрдиреБрд╕рд╛рд░, рдЪрд░ рдЖрдХрд╛рд░ рдХреЗ рддрддреНрд╡реЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкрд░рд┐рдгрд╛рдо рдЧрд▓рдд рд╣реЛрдЧрд╛ред рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, '<рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ = рдЧрд▓рдд>' рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
typedef struct { int id; int length; uchar data[ length ]; } RECORD; RECORD record[5] <optimize=false>;
рдпрджрд┐ рдЖрдЙрдЯрдкреБрдЯ рдлрд╝реАрд▓реНрдб рдореЗрдВ 010 рд╕рдВрдкрд╛рджрдХ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдЕрднреА рднреА рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ '<рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ = рдЯреНрд░реВ>' рдХреЗ рд╕рд╛рде рд╕рдХреНрд╖рдо рдХрд░реЗрдВ, рдЪреЗрддрд╛рд╡рдиреА рдЫрд┐рдкрд╛рдИ рдЬрд╛рдПрдЧреАред рдЯрд╛рдЗрдкрд┐рдбрд┐рдл рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдШреЛрд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖рддрд╛ '<рдСрдкреНрдЯрд┐рдореЗрдЯ = рдЧрд▓рдд>' рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
IV - рдмрд┐рдЯ рд╕рдВрд░рдЪрдирд╛рдПрдВ
рд╕рдВрд░рдЪрдирд╛рдУрдВ рдореЗрдВ рдлрд╝реАрд▓реНрдб рдХреЛ рдмрд┐рдЯреНрд╕ рдХреЗ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЖрдкрдХреЛ рдПрдХ рдореЗрдореЛрд░реА рдмреНрд▓реЙрдХ рдореЗрдВ рдХрдИ рдЪрд░ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдереЛрдбрд╝рд╛ рдХреНрд╖реЗрддреНрд░ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╡рд╛рдХреНрдп рд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИ:
_ <_> : _
рдкреНрд░рдХрд╛рд░ рдЪрд╛рд░, рдЫреЛрдЯрд╛, рдЗрдВрдЯ, рдЗрдВрдЯ 64 (рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдпрд╛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд) рдпрд╛ рдХреЛрдИ рдЕрдиреНрдп рд╕рдордХрдХреНрд╖ рдкреНрд░рдХрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдХреБрдЫ рдЪрд░ рдХрд╛ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕реЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
int alpha : 5; int : 12; int beta : 15;
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рдЪрд╛рд░ рдмрд╛рдЗрдЯ рдлрд╝реАрд▓реНрдб (32 рдмрд┐рдЯреНрд╕) рдореЗрдВ рджреЛ рдЪрд░ рд╣реЛрдВрдЧреЗ: рдЕрд▓реНрдлрд╛ рдФрд░ рдмреАрдЯрд╛, рдкрд╣рд▓рд╛ 5 рдмрд┐рдЯреНрд╕ рд▓реЗрддрд╛ рд╣реИ, рджреВрд╕рд░рд╛ 15 рдмрд┐рдЯреНрд╕ рд▓реЗрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЪрд░ рдХреЗ рдмреАрдЪ 12 рдмрд┐рдЯреНрд╕ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдмрд┐рдЯ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рдПрдХ рдФрдкрдирд┐рд╡реЗрд╢рд┐рдХ рдкреНрд░рддреАрдХ рдФрд░ рдПрдХ рдореВрд▓реНрдп рдЬреЛрдбрд╝рдХрд░ рдмрд┐рдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпреВрдирд┐рдпрдиреЛрдВ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рджреЛ рд╕рдВрдШреЛрдВ рдХреЛ рдПрдХ рдПрдХрд▓ рдмрдВрджрд░рдЧрд╛рд╣ рдореЗрдВ "рдкреИрдХ" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
enum <ushort> ENUM1 { VAL1_1=25, VAL1_2=29, VAL1_3=7 } var1 : 12; enum <ushort> ENUM2 { VAL2_1=5, VAL2_2=6 } var2 : 4;
V - рдХрд╕реНрдЯрдо рдЪрд░
рдХреБрдЫ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдкреНрд░рд╛рд░реВрдк рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рджреГрд╢реНрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рд▓рд┐рдП рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХред 010 рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрдВрддреНрд░ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдПрдХ рдЪрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЪрд░ рдХреЗ рдорд╛рди рдХреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ (рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж), рдпрд╣ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдЪрд░ рдХреЗ рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдЯреЗрдореНрдкрд▓реЗрдЯ рдкрд░рд┐рдгрд╛рдо рдкреИрдирд▓ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рд░реАрдбрд┐рдВрдЧ рдореИрдХреЗрдирд┐рдЬреНрдо рд╣реИ рдФрд░ рд░рд╛рдЗрдЯрд┐рдВрдЧ рдореИрдХреЗрдирд┐рдЬреНрдо рдХреЛ рдЗрд╕реА рддрд░рд╣ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХрд┐рд╕реА рдЪрд░ рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрд░рдорд╢рдГ '<read = <function name >>> рдФрд░ <write = <function name >> "рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рд░реАрдб рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдЪрд░ рдХреЛ рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рд▓реЗрдЦрди рдлрд╝рдВрдХреНрд╢рди рдПрдХ рддрд░реНрдХ рдХреЛ рдПрдХ рдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЗрдВ рдЗрд╕рдХрд╛ рдореВрд▓реНрдпред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 16 рдмрд┐рдЯреНрд╕ (8 рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдЯреНрд╕ рдкреВрд░реНрдгрд╛рдВрдХ рднрд╛рдЧ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ 8 рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрд╢реЛрдВ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рддреЗ рд╣реИрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ "рдЖрдВрд╢рд┐рдХ" рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
typedef ushort FIXEDPT <read=FIXEDPTRead, write=FIXEDPTWrite>; string FIXEDPTRead( FIXEDPT f ) { string s; SPrintf( s, "%lg", f / 256.0 ); return s; } void FIXEDPTWrite( FIXEDPT &f, string s ) { f = (FIXEDPT)( Atof( s ) * 256 ); }
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, FIXEDPT рдЪрд░ рдХреЛ рд░рд┐рдХреЙрд░реНрдб рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рдмрд┐рдирд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдХреЗрд╡рд▓-рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрдЧрд╛ред
рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдкрд░рд┐рдгрд╛рдо рдкреИрдирд▓ рдореЗрдВ рд╕рд░рдгрд┐рдпрд╛рдБ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдЖрдорддреМрд░ рдкрд░ рдХреЛрдИ рдорд╛рди рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рд╕рд░рдгреА "рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд" рди рд╣реЛред рд╕рдВрдкреВрд░реНрдг рд╕рд░рдгреА рдкрд░ рддреБрд░рдВрдд рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдорд╛рди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рдордирдорд╛рдирд╛ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкрдврд╝ рдФрд░ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
typedef float VEC3F[3] <read=Vec3FRead, write=Vec3FWrite>; string Vec3FRead( VEC3F v ) { string s; SPrintf( s, "(%f %f %f)", v[0], v[1], v[2] ); return s; } void Vec3FWrite( VEC3F &v, string s ) { SScanf( s, "(%f %f %f)", v[0], v[1], v[2] ); }
рдЬрд╛рдиреЗрдВ рдХрд┐ рдЕрдм рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд┐рд╕реА рд╕рд░рдгреА рдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
VI - рдСрди-рдбрд┐рдорд╛рдВрдб рд╕рдВрд░рдЪрдирд╛рдПрдВ
рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЪрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдореЛрд░реА рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдмрд╣реБрдд рдорд╣рдВрдЧрд╛ рд╣реИред рдЗрд╕ рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдСрди-рдбрд┐рдорд╛рдВрдб рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдВрд░рдЪрдирд╛ рдпрд╛ рдПрд╕реЛрд╕рд┐рдПрд╢рди рдХреЗ рднреАрддрд░ рдЪрд░ рддрдм рддрдХ рдЬрд╛рдВрдЪ рдХреЗ рддрд╣рдд рдлрд╛рдЗрд▓ рдореЗрдВ "рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд" рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рди рд╣реЛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рддрдХ рдХрд┐ рдврд╛рдВрдЪреЗ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдЦрд╛рдХрд╛ рд░рд┐рдЬрд╝рд▓реНрдЯреНрд╕ рдкреИрдирд▓ рдореЗрдВ рди рд╣реЛ рдЬрд╛рдП)ред рдСрди-рдбрд┐рдорд╛рдВрдб рд╕рдВрд░рдЪрдирд╛рдУрдВ рдпрд╛ рд╕рдВрдШреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЙрдирдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛: '<size =' | рдРрд╕реА рд╕рдВрд░рдЪрдирд╛рдУрдВ рдФрд░ рд╕рдВрдШреЛрдВ рдХрд╛ рдЖрдХрд╛рд░ рд╣рдореЗрд╢рд╛ рддрдп рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
typedef struct { int header; int value1; int value2; } MyStruct <size=12>;
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, MyStruct рд╕рдВрд░рдЪрдирд╛ (рд╢реАрд░реНрд╖ рд▓реЗрдЦ, рдорд╛рди 1 рдФрд░ рдорд╛рди 2) рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рддрдм рддрдХ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛред
рд╕рдкреНрддрдо - рдорд░реНрдпрд╛рджрд╛
рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ 010 рд╕рдВрдкрд╛рджрдХ, рдПрдПрдирдПрд╕рдЖрдИ рд╕реА рдХреЗ рд╕рд╛рде рдХрдИ рд╕рдорд╛рдирддрд╛рдПрдВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдХрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рд╣реИрдВ рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИрдВред ANSI C рдФрд░ 010 рд╕рдВрдкрд╛рджрдХ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рдмреАрдЪ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА:
рд╕рдВрдХреЗрдд
рд╡рд░реНрддрдорд╛рди рдореЗрдВ, '*' рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред рдлрд╝рдВрдХреНрд╢рди рддрд░реНрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ 'рдФрд░' рд╕рдВрджрд░реНрднреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рджрд┐рд╢рд╛ рдирд┐рд░реНрджреЗрд╢реЛрдВ
рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ #define, #ifdef, #ifndef, рдЖрджрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, #if рдирд┐рд░реНрджреЗрд╢ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рди рд╣реА #define рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдореИрдХреНрд░реЛ рдХреА рдШреЛрд╖рдгрд╛ рдХреА рдЧрдИ рд╣реИред
рдмрд╣реБрдЖрдпрд╛рдореА Arrays
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдмрд╣реБрдЖрдпрд╛рдореА рд╕рд░рдгрд┐рдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реАрдХрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 'рдлреНрд▓реЛрдЯ рдореИрдЯреНрд░рд┐рдХреНрд╕ [4] [4]' рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЙрд╕реА рд╕рд░рдгреА рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
typedef struct { float row[4]; } MATRIX[4]; MATRIX m;
рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рдг
рдЧреЛрдЯреЛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреНрд░рд╢реНрди рд╣реИрдВ, рддреЛ рдкреВрдЫреЗрдВ, рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рддреИрдпрд╛рд░ рд░рд╣реЗрдВред
рдЕрдиреБрд╡рд╛рдж рдореЗрдВ рдорд╛рдореВрд▓реА рдЕрд╢реБрджреНрдзрд┐рдпрд╛рдБ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдЕрдЧрд░ рдЖрдкрдХреЛ рдХреБрдЫ рдорд┐рд▓рддрд╛ рд╣реИ, рддреЛ рдкреАрдПрдо рдХреЛ рд▓рд┐рдЦреЗрдВ, рдореИрдВ рдЗрд╕реЗ рд╕рд╣реА рдХрд░реВрдВрдЧрд╛ред
рд╕рд╛рджрд░, рдбрд╛рдЧрд░реЛрди редрдпрд╣ рднреА рджреЗрдЦреЗрдВ: