1

MS Visual Studio C++ でプログラムされた win32 アプリケーションのサイズを縮小したいと考えています。また、すべての Windows バージョン (Visual C++ 再頒布可能パッケージを含まない XP 以降) での互換性を保証したいと考えています。ファイル サイズを縮小し、C ランタイム ライブラリを削除するために/MTandパラメータを使用しました。/NODEFAULTLIBしかし、malloc、free、strcat、strstr などの関数にアクセスできなくなりました。この問題を回避する最善の方法は何ですか?

私はこの代替案について考えています:

  1. LoadLibrary("msvcrt.dll") と GetProcAddress() を使用して、標準の Windows ライブラリからこの関数へのポインターを動的に読み込みます。
  2. この関数を自分でプログラムします。たとえば、malloc を VirtualAlloc() に置き換えたり、free を VirtualFree() に置き換えたりします。

それとも、私の問題に対する他の解決策ですか?ありがとうございました

4

1 に答える 1

1

なぜ人々がそれをやりたがるのかはおそらく理解できないでしょう (PC はサイズの問題を抱えた正確な組み込みプラットフォームではありません) が、基本的に 3 つのオプションがあります。

于 2012-08-18T19:39:56.013 に答える