2016-03-30 73 views
0

我有一個使用這些術語的任務,我的教授的講座沒有清楚地解釋它們。 我是C編程新手,無法理解這些概念。什麼是C代碼通過和編譯/無優化?

+0

很難說,沒有更多的信息。你的教授咬傷了嗎?爲什麼不問他呢? – Olaf

+0

我正在尋找更多的立即答案,但我會問他什麼時候有機會。 –

+0

沒有優化,編譯器或多或少地將你的代碼轉換爲機器指令。編譯優化意味着編譯器會嘗試生成仍然生成相同輸出(*「可觀察行爲」*)的儘可能快的代碼。 – MikeMB

回答

2

Fallthough是當一個開關殼體「下降到」到另一種情況下:

switch(someInt) { 
case 0: 
    // Do stuff 
case 1: 
    // Do more stuff 
    break; 
} 

在這個例子中,如果someInt是0,它將擊中break語句,該語句退出之前執行的代碼都註釋的部分開關。忘記在每個切換部分後輸入break是一個常見的初學者錯誤。如果你想case 0只執行它自己的代碼,而不是用於case 1的代碼,它應該是這樣的:

switch(someInt) { 
case 0: 
    // Do stuff 
    break; 
case 1: 
    // Do more stuff 
    break; 
} 

與優化僅僅指的是使用optimization option讓編譯器想出辦法來加快編譯或簡化程序。