鑑於以下代碼:操作數是否存儲在內存中? (C/C++)
int x=4;
int g=2;
int z=x/g;
據我所知,值「4」被存儲在一個地方的存儲器屬於x
和「2」被存儲在g
'在記憶中的地位。 現在,當CPU獲得z=x/g
命令時,首先他從內存中獲得值x
和g
,然後他計算結果並將其存儲在z
中。 但會發生什麼,如以下代碼運行:
int x=4;
int z=x/2;
的CPU後獲得「4」,他怎麼能得到「2」?一個CPU命令可以保存數據而不是地址和操作碼?
您可以嘗試[查看生成的程序集](http://stackoverflow.com/questions/137038/how-do-you-get-assembler-output-from-c-c-source-in-gcc)。 –
再次提醒我 - 在C程序中做什麼'\\'? –
取決於編譯器 - 它們可以直接加載到寄存器,從堆棧中彈出/彈出,等等。 - 最好的辦法就是看看程序集,就像其他人提到的一樣。 – JerKimball