⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000006.htm

📁 一份很好的linux入门资料
💻 HTM
📖 第 1 页 / 共 3 页
字号:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;&nbsp;member&nbsp;&nbsp;functions&nbsp;may&nbsp;differ&nbsp;from&nbsp;one&nbsp;function&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context&nbsp;to&nbsp;the&nbsp;next,&nbsp;g++&nbsp;&nbsp;may&nbsp;&nbsp;need&nbsp;&nbsp;to&nbsp;&nbsp;flush&nbsp;&nbsp;the&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cache.&nbsp;&nbsp;&nbsp;With&nbsp;&nbsp;the&nbsp;&nbsp;`-fmemoize-lookups'&nbsp;&nbsp;flag,&nbsp;&nbsp;the&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cache&nbsp;is&nbsp;flushed&nbsp;after&nbsp;every&nbsp;function&nbsp;that&nbsp;is&nbsp;&nbsp;com-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;piled.&nbsp;&nbsp;The&nbsp;`-fsave-memoized'&nbsp;flag&nbsp;enables&nbsp;the&nbsp;same&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;software&nbsp;cache,&nbsp;but&nbsp;when&nbsp;&nbsp;the&nbsp;&nbsp;compiler&nbsp;&nbsp;determines&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;that&nbsp;&nbsp;the&nbsp;&nbsp;context&nbsp;&nbsp;of&nbsp;&nbsp;the&nbsp;&nbsp;last&nbsp;function&nbsp;compiled&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;would&nbsp;yield&nbsp;the&nbsp;same&nbsp;access&nbsp;privileges&nbsp;of&nbsp;the&nbsp;&nbsp;next&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;&nbsp;to&nbsp;compile,&nbsp;it&nbsp;preserves&nbsp;the&nbsp;cache.&nbsp;&nbsp;This&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is&nbsp;most&nbsp;helpful&nbsp;when&nbsp;defining&nbsp;many&nbsp;member&nbsp;functions&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;&nbsp;the&nbsp;&nbsp;same&nbsp;&nbsp;class:&nbsp;with&nbsp;the&nbsp;exception&nbsp;of&nbsp;member&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;functions&nbsp;which&nbsp;are&nbsp;friends&nbsp;of&nbsp;other&nbsp;classes,&nbsp;&nbsp;each&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;member&nbsp;&nbsp;function&nbsp;has&nbsp;exactly&nbsp;the&nbsp;same&nbsp;access&nbsp;privi-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;leges&nbsp;as&nbsp;every&nbsp;other,&nbsp;and&nbsp;the&nbsp;&nbsp;cache&nbsp;&nbsp;need&nbsp;&nbsp;not&nbsp;&nbsp;be&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flushed.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-fno-default-inline&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Don't&nbsp;make&nbsp;member&nbsp;functions&nbsp;inline&nbsp;by&nbsp;default&nbsp;mere-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ly&nbsp;because&nbsp;they&nbsp;are&nbsp;defined&nbsp;inside&nbsp;the&nbsp;class&nbsp;&nbsp;scope&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(C++&nbsp;only).&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-fno-defer-pop&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Always&nbsp;&nbsp;pop&nbsp;&nbsp;the&nbsp;arguments&nbsp;to&nbsp;each&nbsp;function&nbsp;call&nbsp;as&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;soon&nbsp;as&nbsp;that&nbsp;function&nbsp;returns.&nbsp;&nbsp;For&nbsp;machines&nbsp;&nbsp;which&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;must&nbsp;&nbsp;pop&nbsp;arguments&nbsp;after&nbsp;a&nbsp;function&nbsp;call,&nbsp;the&nbsp;com-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;piler&nbsp;normally&nbsp;lets&nbsp;&nbsp;arguments&nbsp;&nbsp;accumulate&nbsp;&nbsp;on&nbsp;&nbsp;the&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stack&nbsp;&nbsp;for&nbsp;several&nbsp;function&nbsp;calls&nbsp;and&nbsp;pops&nbsp;them&nbsp;all&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;once.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-fforce-mem&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Force&nbsp;memory&nbsp;operands&nbsp;to&nbsp;be&nbsp;copied&nbsp;&nbsp;into&nbsp;&nbsp;registers&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;before&nbsp;&nbsp;doing&nbsp;arithmetic&nbsp;on&nbsp;them.&nbsp;&nbsp;This&nbsp;may&nbsp;produce&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;better&nbsp;code&nbsp;by&nbsp;making&nbsp;all&nbsp;memory&nbsp;references&nbsp;&nbsp;poten-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tial&nbsp;common&nbsp;subexpressions.&nbsp;&nbsp;When&nbsp;they&nbsp;are&nbsp;not&nbsp;com-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mon&nbsp;subexpressions,&nbsp;instruction&nbsp;combination&nbsp;&nbsp;should&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;eliminate&nbsp;&nbsp;the&nbsp;separate&nbsp;register-load.&nbsp;&nbsp;I&nbsp;am&nbsp;inter-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ested&nbsp;in&nbsp;hearing&nbsp;about&nbsp;the&nbsp;difference&nbsp;this&nbsp;makes.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-fforce-addr&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Force&nbsp;memory&nbsp;address&nbsp;constants&nbsp;to&nbsp;&nbsp;be&nbsp;&nbsp;copied&nbsp;&nbsp;into&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;registers&nbsp;&nbsp;before&nbsp;&nbsp;doing&nbsp;&nbsp;arithmetic&nbsp;on&nbsp;them.&nbsp;&nbsp;This&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;may&nbsp;produce&nbsp;better&nbsp;code&nbsp;just&nbsp;as&nbsp;`-fforce-mem'&nbsp;&nbsp;may.&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I&nbsp;&nbsp;am&nbsp;&nbsp;interested&nbsp;&nbsp;in&nbsp;&nbsp;hearing&nbsp;about&nbsp;the&nbsp;difference&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this&nbsp;makes.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-fomit-frame-pointer&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Don't&nbsp;keep&nbsp;the&nbsp;frame&nbsp;&nbsp;pointer&nbsp;&nbsp;in&nbsp;&nbsp;a&nbsp;&nbsp;register&nbsp;&nbsp;for&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;functions&nbsp;that&nbsp;don't&nbsp;need&nbsp;one.&nbsp;&nbsp;This&nbsp;avoids&nbsp;the&nbsp;in-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;structions&nbsp;to&nbsp;save,&nbsp;set&nbsp;up&nbsp;and&nbsp;restore&nbsp;frame&nbsp;point-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ers;&nbsp;&nbsp;it&nbsp;&nbsp;also&nbsp;makes&nbsp;an&nbsp;extra&nbsp;register&nbsp;available&nbsp;in&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;many&nbsp;functions.&nbsp;&nbsp;It&nbsp;also&nbsp;makes&nbsp;debugging&nbsp;impossible&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;on&nbsp;most&nbsp;machines.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;On&nbsp;some&nbsp;machines,&nbsp;such&nbsp;as&nbsp;the&nbsp;Vax,&nbsp;this&nbsp;flag&nbsp;has&nbsp;no&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;effect,&nbsp;because&nbsp;the&nbsp;standard&nbsp;calling&nbsp;sequence&nbsp;auto-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;matically&nbsp;&nbsp;handles&nbsp;the&nbsp;frame&nbsp;pointer&nbsp;and&nbsp;nothing&nbsp;is&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;saved&nbsp;by&nbsp;pretending&nbsp;it&nbsp;doesn't&nbsp;exist.&nbsp;&nbsp;The&nbsp;machine-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;description&nbsp;&nbsp;macro&nbsp;&nbsp;FRAME_POINTER_REQUIRED&nbsp;controls&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;whether&nbsp;a&nbsp;target&nbsp;machine&nbsp;supports&nbsp;this&nbsp;flag.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-finline-functions&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Integrate&nbsp;all&nbsp;simple&nbsp;functions&nbsp;into&nbsp;their&nbsp;&nbsp;callers.&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;&nbsp;compiler&nbsp;heuristically&nbsp;decides&nbsp;which&nbsp;functions&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;are&nbsp;simple&nbsp;enough&nbsp;to&nbsp;be&nbsp;worth&nbsp;integrating&nbsp;&nbsp;in&nbsp;&nbsp;this&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;way.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;&nbsp;all&nbsp;&nbsp;calls&nbsp;&nbsp;to&nbsp;a&nbsp;given&nbsp;function&nbsp;are&nbsp;integrated,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;the&nbsp;function&nbsp;is&nbsp;declared&nbsp;static,&nbsp;then&nbsp;GCC&nbsp;&nbsp;nor-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mally&nbsp;&nbsp;does&nbsp;&nbsp;not&nbsp;&nbsp;output&nbsp;&nbsp;the&nbsp;function&nbsp;as&nbsp;assembler&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;code&nbsp;in&nbsp;its&nbsp;own&nbsp;right.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-fcaller-saves&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enable&nbsp;values&nbsp;to&nbsp;be&nbsp;&nbsp;allocated&nbsp;&nbsp;in&nbsp;&nbsp;registers&nbsp;&nbsp;that&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;will&nbsp;&nbsp;be&nbsp;&nbsp;clobbered&nbsp;&nbsp;by&nbsp;function&nbsp;calls,&nbsp;by&nbsp;emitting&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extra&nbsp;instructions&nbsp;to&nbsp;save&nbsp;and&nbsp;restore&nbsp;&nbsp;the&nbsp;&nbsp;regis-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ters&nbsp;&nbsp;around&nbsp;&nbsp;such&nbsp;&nbsp;calls.&nbsp;&nbsp;Such&nbsp;allocation&nbsp;is&nbsp;done&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;only&nbsp;when&nbsp;it&nbsp;seems&nbsp;to&nbsp;result&nbsp;in&nbsp;&nbsp;better&nbsp;&nbsp;code&nbsp;&nbsp;than&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;would&nbsp;otherwise&nbsp;be&nbsp;produced.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;&nbsp;option&nbsp;&nbsp;is&nbsp;&nbsp;enabled&nbsp;by&nbsp;default&nbsp;on&nbsp;certain&nbsp;ma-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;chines,&nbsp;usually&nbsp;those&nbsp;which&nbsp;have&nbsp;no&nbsp;&nbsp;call-preserved&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;registers&nbsp;to&nbsp;use&nbsp;instead.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-fkeep-inline-functions&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Even&nbsp;if&nbsp;all&nbsp;calls&nbsp;to&nbsp;a&nbsp;given&nbsp;function&nbsp;are&nbsp;integrat-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ed,&nbsp;and&nbsp;the&nbsp;function&nbsp;is&nbsp;declared&nbsp;static,&nbsp;&nbsp;neverthe-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;less&nbsp;output&nbsp;a&nbsp;separate&nbsp;run-time&nbsp;callable&nbsp;version&nbsp;of&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;function.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-fno-function-cse&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Do&nbsp;not&nbsp;put&nbsp;function&nbsp;addresses&nbsp;&nbsp;in&nbsp;&nbsp;registers;&nbsp;&nbsp;make&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;each&nbsp;&nbsp;instruction&nbsp;&nbsp;that&nbsp;&nbsp;calls&nbsp;&nbsp;a&nbsp;constant&nbsp;function&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contain&nbsp;the&nbsp;function's&nbsp;address&nbsp;explicitly.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;option&nbsp;results&nbsp;in&nbsp;&nbsp;less&nbsp;&nbsp;efficient&nbsp;&nbsp;code,&nbsp;&nbsp;but&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;some&nbsp;&nbsp;strange&nbsp;hacks&nbsp;that&nbsp;alter&nbsp;the&nbsp;assembler&nbsp;output&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;may&nbsp;be&nbsp;confused&nbsp;by&nbsp;the&nbsp;optimizations&nbsp;performed&nbsp;when&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this&nbsp;option&nbsp;is&nbsp;not&nbsp;used.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-fno-peephole&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Disable&nbsp;&nbsp;any&nbsp;&nbsp;machine-specific&nbsp;&nbsp;peephole&nbsp;&nbsp;optimiza-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tions.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-ffast-math&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;option&nbsp;allows&nbsp;GCC&nbsp;to&nbsp;violate&nbsp;some&nbsp;ANSI&nbsp;or&nbsp;IEEE&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rules/specifications&nbsp;&nbsp;in&nbsp;the&nbsp;interest&nbsp;of&nbsp;optimizing&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;code&nbsp;for&nbsp;speed.&nbsp;&nbsp;For&nbsp;example,&nbsp;it&nbsp;allows&nbsp;the&nbsp;compil-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;er&nbsp;&nbsp;to&nbsp;&nbsp;assume&nbsp;&nbsp;arguments&nbsp;&nbsp;to&nbsp;the&nbsp;sqrt&nbsp;function&nbsp;are&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;non-negative&nbsp;numbers.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;option&nbsp;should&nbsp;never&nbsp;be&nbsp;turned&nbsp;on&nbsp;by&nbsp;&nbsp;any&nbsp;&nbsp;`-O'&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;option&nbsp;&nbsp;since&nbsp;it&nbsp;can&nbsp;result&nbsp;in&nbsp;incorrect&nbsp;output&nbsp;for&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;programs&nbsp;which&nbsp;depend&nbsp;on&nbsp;an&nbsp;exact&nbsp;implementation&nbsp;of&nbsp;<BR>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -