給定一個程序,它使用異常的功能:如果我們一次運行帶有優化的程序,然後我們運行它而不進行優化 - 兩個執行的輸出是相同的?編譯後有無異常優化 - 結果是否相同?
給定相同的程序,它不使用異常的功能 - 如果我們一次運行優化程序,然後我們運行它沒有優化 - 將兩者的輸出執行是一樣的嗎?
兩個問題是從發生前幾天接受採訪時拍攝...
我認爲第一個問題的答案是否定的 - 因爲當一些代碼行拋出一個異常,範圍是動態的,優化可能會改變程序.Hence,兩個不同的執行(一個優化和一個沒有)的輸出可能是不同的執行順序...
這是正確的嗎?
2nd
問題怎麼樣?
非常感謝:)
我不得不回答他們的問題,因爲他們愚蠢地認爲我知道或不知道他們回答他們想要的答案。而實際上,我有問題的極端無意義掙扎,除非它是一個用於任務寫入編譯器? – 2013-02-16 15:57:19
@TonyHopkinson:學生在編程中的位置......你可以假設它也涉及編寫編譯器。 – ron 2013-02-16 16:02:39
不是假設的忠實粉絲。 :( – 2013-02-16 19:51:38