2020-02-19から1日間の記事一覧
はじめに main関数の前にはスタートアップ関数という物があり、スタートアップ関数ではアプリケーションの実行のための準備がされている。 かといって、スタートアップ関数は特別なプログラムではなく、実際にアプリケーションプログラマが自作することも可…
ポインタ渡しとポインタ返しについては、普通の配列などと同様のコードが生成される。値渡しについては、引数の部分に構造体のサイズ分のメモリが大胆に確保される。 つまり、4byteの変数と200byteのサイズの構造体を値渡しする場合、引数のサイズはなんと20…
さて、前回の「main関数の「return 0;」について逆アセンブルして考察してみた - FromNandの日記」に続いて、今回はタイトルの通りの実験を行います。 まずは、「return;」を書いた場合のソースはこちらになります。 void func(void){ return; } このプログ…
main関数の「return 0;」は、OSにプログラムが安全に終了したことを伝えるという意味合いを持つ。 しかし実際には、main関数の「return 0;」を書いていない人もしばしば見かける。 ということで、今回は「return 0;」を書くのと書かないのとではどのような違…