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

📄 00000006.htm

📁 一份很好的linux入门资料
💻 HTM
📖 第 1 页 / 共 3 页
字号:
<HTML><HEAD>  <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>OPTIMIZATION&nbsp;OPTIONS&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;These&nbsp;options&nbsp;control&nbsp;various&nbsp;sorts&nbsp;of&nbsp;optimizations:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-O&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-O1&nbsp;&nbsp;&nbsp;&nbsp;Optimize.&nbsp;&nbsp;Optimizing&nbsp;&nbsp;compilation&nbsp;&nbsp;takes&nbsp;&nbsp;somewhat&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;more&nbsp;&nbsp;time,&nbsp;and&nbsp;a&nbsp;lot&nbsp;more&nbsp;memory&nbsp;for&nbsp;a&nbsp;large&nbsp;func-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tion.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Without&nbsp;`-O',&nbsp;the&nbsp;compiler's&nbsp;goal&nbsp;is&nbsp;to&nbsp;reduce&nbsp;&nbsp;the&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cost&nbsp;&nbsp;of&nbsp;&nbsp;compilation&nbsp;and&nbsp;to&nbsp;make&nbsp;debugging&nbsp;produce&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;expected&nbsp;results.&nbsp;&nbsp;Statements&nbsp;are&nbsp;&nbsp;independent:&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;you&nbsp;&nbsp;stop&nbsp;the&nbsp;program&nbsp;with&nbsp;a&nbsp;breakpoint&nbsp;between&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;statements,&nbsp;you&nbsp;can&nbsp;then&nbsp;assign&nbsp;a&nbsp;new&nbsp;value&nbsp;to&nbsp;&nbsp;any&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;variable&nbsp;or&nbsp;change&nbsp;the&nbsp;program&nbsp;counter&nbsp;to&nbsp;any&nbsp;other&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;statement&nbsp;in&nbsp;the&nbsp;function&nbsp;and&nbsp;get&nbsp;exactly&nbsp;&nbsp;the&nbsp;&nbsp;re-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sults&nbsp;you&nbsp;would&nbsp;expect&nbsp;from&nbsp;the&nbsp;source&nbsp;code.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Without&nbsp;&nbsp;`-O',&nbsp;only&nbsp;variables&nbsp;declared&nbsp;register&nbsp;are&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;allocated&nbsp;in&nbsp;&nbsp;registers.&nbsp;&nbsp;&nbsp;The&nbsp;&nbsp;resulting&nbsp;&nbsp;compiled&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;code&nbsp;is&nbsp;a&nbsp;little&nbsp;worse&nbsp;than&nbsp;produced&nbsp;by&nbsp;PCC&nbsp;without&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`-O'.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;With&nbsp;`-O',&nbsp;the&nbsp;compiler&nbsp;tries&nbsp;to&nbsp;reduce&nbsp;&nbsp;code&nbsp;&nbsp;size&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;execution&nbsp;time.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When&nbsp;&nbsp;&nbsp;&nbsp;you&nbsp;&nbsp;&nbsp;specify&nbsp;&nbsp;&nbsp;`-O',&nbsp;&nbsp;&nbsp;the&nbsp;&nbsp;&nbsp;two&nbsp;&nbsp;&nbsp;options&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`-fthread-jumps'&nbsp;and&nbsp;`-fdefer-pop'&nbsp;are&nbsp;&nbsp;turned&nbsp;&nbsp;on.&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;On&nbsp;&nbsp;&nbsp;&nbsp;machines&nbsp;&nbsp;&nbsp;that&nbsp;&nbsp;&nbsp;have&nbsp;&nbsp;&nbsp;delay&nbsp;&nbsp;&nbsp;slots,&nbsp;&nbsp;&nbsp;the&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`-fdelayed-branch'&nbsp;option&nbsp;is&nbsp;turned&nbsp;on.&nbsp;&nbsp;For&nbsp;&nbsp;those&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;machines&nbsp;&nbsp;that&nbsp;can&nbsp;support&nbsp;debugging&nbsp;even&nbsp;without&nbsp;a&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frame&nbsp;pointer,&nbsp;the&nbsp;`-fomit-frame-pointer'&nbsp;option&nbsp;is&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;turned&nbsp;&nbsp;on.&nbsp;&nbsp;&nbsp;On&nbsp;some&nbsp;machines&nbsp;other&nbsp;flags&nbsp;may&nbsp;also&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;be&nbsp;turned&nbsp;on.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-O2&nbsp;&nbsp;&nbsp;&nbsp;Optimize&nbsp;even&nbsp;more.&nbsp;&nbsp;Nearly&nbsp;all&nbsp;supported&nbsp;optimiza-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tions&nbsp;&nbsp;that&nbsp;&nbsp;do&nbsp;&nbsp;not&nbsp;involve&nbsp;a&nbsp;space-speed&nbsp;tradeoff&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;are&nbsp;performed.&nbsp;&nbsp;Loop&nbsp;unrolling&nbsp;and&nbsp;function&nbsp;&nbsp;inlin-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ing&nbsp;&nbsp;are&nbsp;not&nbsp;done,&nbsp;for&nbsp;example.&nbsp;&nbsp;As&nbsp;compared&nbsp;to&nbsp;-O,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this&nbsp;option&nbsp;increases&nbsp;both&nbsp;compilation&nbsp;time&nbsp;and&nbsp;the&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;performance&nbsp;of&nbsp;the&nbsp;generated&nbsp;code.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-O3&nbsp;&nbsp;&nbsp;&nbsp;Optimize&nbsp;&nbsp;yet&nbsp;&nbsp;more.&nbsp;&nbsp;This&nbsp;&nbsp;turns&nbsp;on&nbsp;everything&nbsp;-O2&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;does,&nbsp;&nbsp;&nbsp;along&nbsp;&nbsp;&nbsp;with&nbsp;&nbsp;&nbsp;also&nbsp;&nbsp;&nbsp;turning&nbsp;&nbsp;&nbsp;on&nbsp;&nbsp;&nbsp;&nbsp;-fin-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line-functions.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-O0&nbsp;&nbsp;&nbsp;&nbsp;Do&nbsp;not&nbsp;optimize.&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;&nbsp;you&nbsp;&nbsp;use&nbsp;&nbsp;multiple&nbsp;&nbsp;-O&nbsp;options,&nbsp;with&nbsp;or&nbsp;without&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;level&nbsp;numbers,&nbsp;the&nbsp;last&nbsp;such&nbsp;option&nbsp;is&nbsp;the&nbsp;one&nbsp;that&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is&nbsp;effective.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Options&nbsp;&nbsp;of&nbsp;&nbsp;the&nbsp;form&nbsp;`-fflag'&nbsp;specify&nbsp;machine-independent&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flags.&nbsp;&nbsp;Most&nbsp;flags&nbsp;have&nbsp;both&nbsp;positive&nbsp;and&nbsp;negative&nbsp;&nbsp;forms;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;&nbsp;negative&nbsp;&nbsp;form&nbsp;&nbsp;of&nbsp;&nbsp;`-ffoo'&nbsp;would&nbsp;be&nbsp;`-fno-foo'.&nbsp;&nbsp;The&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;following&nbsp;list&nbsp;shows&nbsp;only&nbsp;one&nbsp;form--the&nbsp;one&nbsp;which&nbsp;&nbsp;is&nbsp;&nbsp;not&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;&nbsp;default.&nbsp;&nbsp;You&nbsp;can&nbsp;figure&nbsp;out&nbsp;the&nbsp;other&nbsp;form&nbsp;by&nbsp;either&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;removing&nbsp;`no-'&nbsp;or&nbsp;adding&nbsp;it.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-ffloat-store&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Do&nbsp;not&nbsp;store&nbsp;floating&nbsp;point&nbsp;variables&nbsp;in&nbsp;registers.&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;&nbsp;prevents&nbsp;&nbsp;undesirable&nbsp;excess&nbsp;precision&nbsp;on&nbsp;ma-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;chines&nbsp;such&nbsp;as&nbsp;the&nbsp;68000&nbsp;where&nbsp;the&nbsp;floating&nbsp;&nbsp;regis-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ters&nbsp;(of&nbsp;the&nbsp;68881)&nbsp;keep&nbsp;more&nbsp;precision&nbsp;than&nbsp;a&nbsp;dou-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ble&nbsp;is&nbsp;supposed&nbsp;to&nbsp;have.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For&nbsp;most&nbsp;programs,&nbsp;the&nbsp;excess&nbsp;precision&nbsp;&nbsp;does&nbsp;&nbsp;only&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;good,&nbsp;&nbsp;but&nbsp;a&nbsp;few&nbsp;programs&nbsp;rely&nbsp;on&nbsp;the&nbsp;precise&nbsp;defi-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nition&nbsp;of&nbsp;IEEE&nbsp;floating&nbsp;point.&nbsp;&nbsp;Use&nbsp;`-ffloat-store'&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;such&nbsp;programs.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-fmemoize-lookups&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-fsave-memoized&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Use&nbsp;heuristics&nbsp;to&nbsp;compile&nbsp;faster&nbsp;(C++&nbsp;only).&nbsp;&nbsp;These&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;heuristics&nbsp;are&nbsp;not&nbsp;enabled&nbsp;by&nbsp;default,&nbsp;&nbsp;since&nbsp;&nbsp;they&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;are&nbsp;&nbsp;only&nbsp;effective&nbsp;for&nbsp;certain&nbsp;input&nbsp;files.&nbsp;&nbsp;Other&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;input&nbsp;files&nbsp;compile&nbsp;more&nbsp;slowly.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;first&nbsp;time&nbsp;the&nbsp;compiler&nbsp;must&nbsp;build&nbsp;a&nbsp;call&nbsp;to&nbsp;&nbsp;a&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;member&nbsp;function&nbsp;(or&nbsp;reference&nbsp;to&nbsp;a&nbsp;data&nbsp;member),&nbsp;it&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;must&nbsp;(1)&nbsp;determine&nbsp;&nbsp;whether&nbsp;&nbsp;the&nbsp;&nbsp;class&nbsp;&nbsp;implements&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;member&nbsp;&nbsp;functions&nbsp;&nbsp;of&nbsp;&nbsp;that&nbsp;name;&nbsp;(2)&nbsp;resolve&nbsp;which&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;member&nbsp;function&nbsp;to&nbsp;call&nbsp;&nbsp;(which&nbsp;&nbsp;involves&nbsp;&nbsp;figuring&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out&nbsp;&nbsp;what&nbsp;&nbsp;sorts&nbsp;&nbsp;of&nbsp;&nbsp;type&nbsp;&nbsp;conversions&nbsp;&nbsp;need&nbsp;to&nbsp;be&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;made);&nbsp;and&nbsp;(3)&nbsp;check&nbsp;the&nbsp;visibility&nbsp;of&nbsp;&nbsp;the&nbsp;&nbsp;member&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;&nbsp;to&nbsp;&nbsp;the&nbsp;&nbsp;caller.&nbsp;&nbsp;&nbsp;All&nbsp;of&nbsp;this&nbsp;adds&nbsp;up&nbsp;to&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;slower&nbsp;compilation.&nbsp;&nbsp;Normally,&nbsp;the&nbsp;&nbsp;second&nbsp;&nbsp;time&nbsp;&nbsp;a&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;&nbsp;is&nbsp;made&nbsp;to&nbsp;that&nbsp;member&nbsp;function&nbsp;(or&nbsp;reference&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;that&nbsp;data&nbsp;member),&nbsp;it&nbsp;must&nbsp;go&nbsp;through&nbsp;&nbsp;the&nbsp;&nbsp;same&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lengthy&nbsp;&nbsp;process&nbsp;&nbsp;again.&nbsp;&nbsp;This&nbsp;means&nbsp;that&nbsp;code&nbsp;like&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;&lt;&lt;&nbsp;&quot;This&nbsp;&quot;&nbsp;&lt;&lt;&nbsp;p&nbsp;&nbsp;&lt;&lt;&nbsp;&nbsp;&quot;&nbsp;&nbsp;has&nbsp;&nbsp;&quot;&nbsp;&nbsp;&lt;&lt;&nbsp;&nbsp;n&nbsp;&nbsp;&lt;&lt;&nbsp;&nbsp;&quot;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;legs.\n&quot;;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;makes&nbsp;six&nbsp;passes&nbsp;through&nbsp;all&nbsp;three&nbsp;steps.&nbsp;&nbsp;By&nbsp;using&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;software&nbsp;cache,&nbsp;&nbsp;a&nbsp;&nbsp;&quot;hit&quot;&nbsp;&nbsp;significantly&nbsp;&nbsp;reduces&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this&nbsp;&nbsp;cost.&nbsp;&nbsp;&nbsp;Unfortunately,&nbsp;using&nbsp;the&nbsp;cache&nbsp;intro-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;duces&nbsp;another&nbsp;layer&nbsp;of&nbsp;mechanisms&nbsp;which&nbsp;must&nbsp;be&nbsp;im-&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;plemented,&nbsp;&nbsp;&nbsp;and&nbsp;&nbsp;&nbsp;so&nbsp;&nbsp;&nbsp;incurs&nbsp;&nbsp;its&nbsp;&nbsp;own&nbsp;&nbsp;overhead.&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`-fmemoize-lookups'&nbsp;enables&nbsp;the&nbsp;software&nbsp;cache.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Because&nbsp;access&nbsp;privileges&nbsp;(visibility)&nbsp;&nbsp;to&nbsp;&nbsp;members&nbsp;<BR>

⌨️ 快捷键说明

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