エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
蛭子屋本舗 Windowsプログラミングチップス - 実行モジュールのサイズを小さくする(C++編)
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
蛭子屋本舗 Windowsプログラミングチップス - 実行モジュールのサイズを小さくする(C++編)
実行モジュールのサイズを小さくする(C++編) 『実行ファイルサイズを減らす方法』を読んで作成される実... 実行モジュールのサイズを小さくする(C++編) 『実行ファイルサイズを減らす方法』を読んで作成される実行ファイルのサイズの違いに驚きましたが、そのまま使用していたのではC++の恩恵があまり得られませんでした。特にグローバルに宣言した変数のコンストラクタやデストラクタが走らないのは結構辛い。 もともとのLIBCではどのようにしているのかを調べて見ると、どうやら".CRT"というセクションには初期化するための関数へのポインタが入るようです。またグローバルに宣言された変数のデストラクタは atexit という標準関数によって終了時に実行される関数に登録されます。この二つをサポートしてやることによりC++を使用していてもモジュールサイズをかなり小さくすることができます。 typedef void (__cdecl* vfuncv)(void); // VCではこれらのセグメントに初期化処理を行う関