第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

編譯器是否允許消除無限循環(huán)?

編譯器是否允許消除無限循環(huán)?

C
米琪卡哇伊 2019-08-28 10:46:55
編譯器是否允許消除無限循環(huán)?可以優(yōu)化編譯器刪除無限循環(huán),這不會改變?nèi)魏螖?shù)據(jù),如while(1)    /* noop */;從分析編譯器可以推導(dǎo)出的數(shù)據(jù)流圖,這樣的循環(huán)是“死代碼”而沒有任何副作用。是否刪除了C90 / C99標(biāo)準(zhǔn)禁止的無限循環(huán)?C90或C99標(biāo)準(zhǔn)是否允許編譯器刪除此類循環(huán)?更新:“Microsoft C版本6.0基本上做了這個優(yōu)化?!?,請參閱caf的鏈接。label: goto label;return 0;將轉(zhuǎn)變?yōu)閞eturn 0;
查看完整描述

3 回答

?
泛舟湖上清波郎朗

TA貢獻(xiàn)1818條經(jīng)驗 獲得超3個贊

普遍無法檢測無限循環(huán):請參閱暫停問題。因此,任何編譯器都可以做的最好的事情是采取一個不錯的猜測 - 例如OP中提到的明顯情況。

但為什么這會是可取的呢?我可以看到發(fā)出警告并仍然允許行為,但是刪除循環(huán)不是“優(yōu)化” - 它改變了程序的行為!


查看完整回答
反對 回復(fù) 2019-08-28
?
繁星coding

TA貢獻(xiàn)1797條經(jīng)驗 獲得超4個贊

循環(huán)不是死代碼,它基本上阻止程序達(dá)到它后面的任何東西。如果刪除循環(huán),則不會發(fā)生這種情況,因此編譯器無法刪除循環(huán)。

它可能會用平臺相關(guān)的空閑指令替換它,以通知處理器線程不再執(zhí)行任何操作。

編譯器可以做的是刪除循環(huán)后出現(xiàn)的任何代碼,因為它無法訪問并且永遠(yuǎn)不會被執(zhí)行。


查看完整回答
反對 回復(fù) 2019-08-28
  • 3 回答
  • 0 關(guān)注
  • 717 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號