という名前空間にいくつかの関数がありますstub
。名前空間の正確な開始アドレスと終了アドレス、少なくともメモリ内の名前空間のサイズを決定する必要があります (これらの関数を別のプロセスにコピーするため)。これはVisual C++ 2008で完全に機能しましたが、
void stub_end() { }
名前空間の最後で使用
size_t size = reinterpret_cast<ULONG_PTR>(stub_end) - reinterpret_cast<ULONG_PTR>(stub_start);
スタブのサイズを決定します。
これは、Visual C++ が関数の順序を .cpp ファイルと同じように保持していたため機能しましたが、Visual C++ 2010 ではそうではないようです。
プラグマ ディレクティブ、コンパイラ/リンカー機能などを使用して、関数または名前空間/スタブ全体のサイズを確認するにはどうすればよいですか?