"Филипп Н.Хислей. Генерация высококачественного кода для программ, написанных на СИ " - читать интересную книгу автора

ЋЇвЁ¬Ё§ЁагойЁҐ ЇаҐ®Ўа §®ў ­Ёп ¬®Јгв Ўлвм § ўЁбпйЁ¬Ё Ё«Ё ­Ґ§ ўЁбпйЁ¬Ё ®в
 аеЁвҐЄвгал Є®¬ЇмовҐа . Џа®жҐбб Є®¬ЇЁ«пжЁЁ Є®¬ЇмовҐа­®© Їа®Ја ¬¬л ўЄ«оз Ґв
¤ў  ®б­®ў­ле ¤Ґ©бвўЁп: бЁ­в ЄбЁзҐбЄЁ©/ᥬ ­вЁзҐбЄЁ©  ­ «Ё§ Ё ЈҐ­Ґа жЁо Є®¤ .
‘Ё­в ЄбЁзҐбЄЁ©/ᥬ ­вЁзҐбЄЁ©  ­ «Ё§ бгйҐб⢥­­® § ўЁбЁв ®в Ја ¬¬ вЁЄЁ Ё
бЇҐжЁдЁзҐ­ ¤«п п§лЄ . ѓҐ­Ґа жЁп Є®¤  пў«пҐвбп ®ЎйҐ© Ё ЇаҐЄа б­® ¬®¦Ґв Ўлвм
ЁбЇ®«м§®ў ­  ¤«п Ї®¤¤Ґа¦ЄЁ ЇҐаў®© бв ¤ЁЁ ¤«п «оЎ®Ј® Є®«ЁзҐбвў  п§лЄ®ў
Їа®Ја ¬¬Ёа®ў ­Ёп.
€б室­л© ⥪бв Є®­ЄаҐв­®Ј® п§лЄ  ЇҐаўл¬ ¤Ґ«®¬ ва ­б«ЁагҐвбп ў ®Ўйго
Їа®¬Ґ¦гв®з­го д®а¬г, Є®в®а п Ї®б«Ґ¤®ў вҐ«м­® ®Ўа Ў влў Ґвбп ¤«п ўла Ў®вЄЁ ­ 
бв ¤ЁЁ ЈҐ­Ґа жЁЁ ¬ иЁ­­®-§ ўЁбЁ¬®Ј® Є®¤ . Њ иЁ­­®-­Ґ§ ўЁбЁ¬ п ®ЇвЁ¬Ё§ жЁп,
в Є п Є Є ўл¤Ґ«Ґ­ЁҐ ®ЎйЁе Ї®¤ўла ¦Ґ­Ё© Ё ўл­ҐбҐ­ЁҐ Ё­ў аЁ ­в­®Ј® Є®¤ ,
ЇаЁ¬Ґ­пҐвбп Є Їа®¬Ґ¦гв®з­®¬г Є®¤г. Њ иЁ­­®-§ ўЁбЁ¬ п ®ЇвЁ¬Ё§ жЁп ЇаЁ¬Ґ­пҐвбп
Є १г«мв вг бв ¤ЁЁ ЈҐ­Ґа жЁЁ Є®¤  Ё ЁбЇ®«м§гҐв ­ Ў®а Є®¬ ­¤ Є®­ЄаҐв­®Ј®
Їа®жҐбб®а . ќв  ®ЇвЁ¬Ё§ жЁп Ё§ўҐбв­  Є Є "饫Ґў п" ®ЇвЁ¬Ё§ жЁп, Ї®в®¬г зв®
нвЁ ЇаҐ®Ўа §®ў ­Ёп ўлЇ®«­повбп ў­гваЁ ¬ «Ґ­мЄ®Ј® ®Є­  (5 - 10 Ё­бвагЄжЁ©
¬ иЁ­­®Ј® га®ў­п). ’ЁЇЁз­лҐ ЇаЁ¬Ґал 饫Ґў®© ®ЇвЁ¬Ё§ жЁЁ ўЄ«оз ов г¤ «Ґ­ЁҐ
Ё§«Ёи­Ёе ®ЇҐа жЁ© § Јаг§ЄЁ/б®еа ­Ґ­Ёп ॣЁбва®ў, г¤ «Ґ­ЁҐ ­Ґ¤®бвЁ¦Ё¬®Ј®
Є®¤ , ўлЇаשׂҐ­ЁҐ ЇҐаҐ¤ з гЇа ў«Ґ­Ёп,  «ЈҐЎа ЁзҐбЄЁҐ гЇа®йҐ­Ёп, б­Ё¦Ґ­ЁҐ
¬®й­®бвЁ (Є®¬ ­¤) Ё ЁбЇ®«м§®ў ­ЁҐ Є®¬ ­¤, бЇҐжЁдЁзҐбЄЁе ¤«п Є®­ЄаҐв­®Ј®
Їа®жҐбб®а .

ЊҐв®¤л ®ЇвЁ¬Ё§ жЁЁ

‘гйҐбвўгов а §«Ёз­лҐ ¬Ґв®¤л ¬ иЁ­­®-§ ўЁбЁ¬®© Ё ¬ иЁ­­®-­Ґ§ ўЁбЁ¬®©
®ЇвЁ¬Ё§ жЁЁ Є®¤ . Ћ­Ё ¬®Јгв ЇаЁ¬Ґ­пвмбп ­  ўбҐе бЁ­в ЄбЁзҐбЄЁе га®ў­пе.
Ћ¤­Ё¬ Ё§ Їа®б⥩иЁе ¬Ґв®¤®ў пў«пҐвбп "а §¬­®¦Ґ­ЁҐ Є®­бв ­в". ЏаЁ ҐЈ®
ЇаЁ¬Ґ­Ґ­ЁЁ «оЎ п ббл«Є  ­  Є®­бв ­в­®Ґ §­ зҐ­ЁҐ § ¬Ґй Ґвбп б ¬Ё¬ §­ зҐ­ЁҐ¬.
‚ б«Ґ¤го饬 ЇаЁ¬ҐаҐ Ї®ўли Ґвбп нд䥪⨢­®бвм Ў« Ј®¤ ап г¤ «Ґ­Ёо ваҐе
 ¤аҐб­ле ббл«®Є Ё § ¬Ґ­Ґ Ёе Є®­бв ­в ¬Ё:
x = 2;
if( a " x && b " x)
c = x;s
ЇҐаҐў®¤Ёвбп ў
x = 2;
if(a " 2 && b " 2)
c = 2;
–Ґ«ЁЄ®¬ бўп§ ­® б а §¬­®¦Ґ­ЁҐ¬ Є®­бв ­в "а §¬­®¦Ґ­ЁҐ Є®ЇЁ©". ‚ н⮬
¬Ґв®¤Ґ Є®ЇЁаговбп ЇҐаҐ¬Ґ­­лҐ ў¬Ґбв® Є®­бв ­в­ле §­ зҐ­Ё©. Ќ ЇаЁ¬Ґа,
x = y;
if(a " x && b " x)
c = x;
ЇҐаҐў®¤Ёвбп ў
x = y;
if(a " y && b " y)
c = y;
ђ §¬­®¦Ґ­ЁҐ Є®­бв ­в Ё Є®ЇЁ© в Є¦Ґ ¬®¦Ґв г¤ «Ёвм Ё§«Ёи­ЁҐ ЇаЁбў Ёў ­Ёп
(x = 2 Ё x = y ў ЇаЁ¬Ґа е). ‘।Ё ®ЇЁблў Ґ¬ле Є®¬ЇЁ«пв®а®ў в®«мЄ® Microsoft
C 5.0 Ё WATCOM C 6.0 ЇаЁ¬Ґ­пов а §¬­®¦Ґ­ЁҐ Є®­бв ­в.
ЊҐв®¤ "ᢥавЄЁ Є®­бв ­в" (Є®­бв ­в­ п  аЁд¬ҐвЁЄ ) бў®¤Ёв ўла ¦Ґ­Ёп,
Є®в®алҐ б®¤Ґа¦ в Є®­бв ­в­лҐ ¤ ­­лҐ, Є ў®§¬®¦­® Їа®б⥩襩 д®а¬Ґ.