MS Visual Studio C++ でプログラムされた win32 アプリケーションのサイズを縮小したいと考えています。また、すべての Windows バージョン (Visual C++ 再頒布可能パッケージを含まない XP 以降) での互換性を保証したいと考えています。ファイル サイズを縮小し、C ランタイム ライブラリを削除するために/MT
andパラメータを使用しました。/NODEFAULTLIB
しかし、malloc、free、strcat、strstr などの関数にアクセスできなくなりました。この問題を回避する最善の方法は何ですか?
私はこの代替案について考えています:
- LoadLibrary("msvcrt.dll") と GetProcAddress() を使用して、標準の Windows ライブラリからこの関数へのポインターを動的に読み込みます。
- この関数を自分でプログラムします。たとえば、malloc を VirtualAlloc() に置き換えたり、free を VirtualFree() に置き換えたりします。
それとも、私の問題に対する他の解決策ですか?ありがとうございました