簡體   English   中英

VS2015中的一個編譯問題

[英]A compilation problems in VS2015

   127:    int a = 2815;
00007FF78B5126EE  mov dword ptr [a],0AFFh
   128:
   129:    short c = static_cast<char>(a);
00007FF78B5126F5  movsx    ax,byte ptr [a]
00007FF78B5126FA  mov      word ptr [c],ax

在我的環境中,一個int占用 4 個字節,一個 short 占用 2 個字節,所以在movsx指令中,為什么有一個字節而不是一個字? 希望可以有人幫幫我!

一個char是一個字節。 static_casta轉換為char 一個字節。 因此, char轉換變量a的一字節值被移動到ax

它移動 int a的最低字節,因為這是static_cast<char>給你的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM