スタックは上位メモリアドレスから下位メモリアドレスに成長します。次のコードは私を混乱させます行#1 espが行#3のebpレジスタにコピーされます。しかし、行番号#16のは変数がebp + 8によってアクセスされます、なぜebp-8でないのか説明できますか?典型的な32ビットの呼び出し規約と、典型的なプロローグについて (gdb) disass main
Dump of assembler co
最近、関数から返される値がconst変数に割り当てられ、場合によってはconst&に割り当てられる場合がある、古いコードの一部を分析しています。不思議なことに、私はその違いを見るために解体に切り替えました。上記のコードの以下の解体が無効な最適化とVS2015で取得した struct Data
{
int chunk[1024];
};
Data getData()
{