freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

算法合集之論反匯編在時間常數(shù)優(yōu)化中的應用(完整版)

2024-11-21 20:35上一頁面

下一頁面
  

【正文】 mov, lea 數(shù)據(jù)移動運算 1 and or xor not 邏輯運算 add, sub加減法運算, test運算 2. shl, shr, sal, sar位運算 ~2 3. ptr取地址值, push+pop堆棧運算 *2, jmp跳轉(zhuǎn)運算 4 4. mul, imul乘法 5 5. div, idiv除法 25 6. call+ret 調(diào)用子函數(shù) +返回 27 數(shù)據(jù)分析 一、關于調(diào)用常數(shù)因子的優(yōu)化 ? 調(diào)用常數(shù)因子是指在函數(shù)調(diào)用過程中 push pop(有的編譯器如 cl用 mov實現(xiàn))和 call ret等匯編偽代碼在調(diào)用過程中的耗費。j++) for (i=0。 return 0。 const int Time=你喜歡的合法的數(shù)值 。 緒言 ? 在 Visual C++語言環(huán)境下,從特定編譯器生成的匯編代碼出發(fā),我探討了反匯編在常數(shù)因子優(yōu)化中的應用,并提出了若干優(yōu)化改進方案。j++) for (i=0。 int i,j。 00401001 xor eax,eax 00401003 mov ecx,9C40h 00401008 mov edi,offset table 0040100D rep stos dword ptr [edi] ? Release模式下編譯器對 memset語句的處理如下 ? Debug模式下編譯器對 memset語句的處理如下 memset(field,0,sizeof(field))。b) { int t=a。 } Release模式 ? 與 Debug模式不同的是,在 Release模式下,任何函數(shù)會被優(yōu)先嘗試作為 inline函數(shù),所以在代碼中顯式指定 inline關鍵字仍然沒有實際的作用。b){int t=a。 (注:編譯器同樣也會把特定的乘法轉(zhuǎn)化為位運算,比如乘以2等) 二、除法(求余)的優(yōu)化 ? 比如,對于 a/=2( a為 32位整數(shù))這句語句在Debug模式下的解釋: a/=2。 c=bamp。 00411B6F mov eax,dword ptr [i] 00411B75 imul eax,eax,28h 00411B78 lea ecx,a[eax] 00411B7F mov edx,dword ptr [j] 00411B85 mov eax,dword ptr [ecx+edx*4] 三、關于多維數(shù)組的性能優(yōu)化 ? 由于 imul是一種比例時間較大的指令,如果能消去這一指令,便能夠產(chǎn)生較大幅度的優(yōu)化。 00411A60 mov eax,dword ptr [ptr2] 00411A65 mov eax,dword ptr [eax] ? 這樣本來隱藏的乘法操作就被消去了。 時間表由很多個時間片段構成,在每個時間片斷中,物體將向同一方向運動。 例: adv1900 (NOI2021) ? 本題的移動情況可以靠在移動前進行對變量的初始化實現(xiàn)。 ? 我相信,對
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1