Я хочу уменьшить размер своих приложений win32, запрограммированных в MS Visual Studio C++, и я также хочу иметь гарантированную совместимость со всеми версиями Windows (XP и выше без распространяемого пакета Visual C++). Я использовал параметры /MT
и /NODEFAULTLIB
, чтобы уменьшить размер файла и избавиться от библиотеки C Run-Time. Но я потерял доступ к таким функциям, как malloc, free, strcat, strstr и т. д. Как лучше всего обойти эту проблему?
Я думаю об этих альтернативах:
- Используйте LoadLibrary("msvcrt.dll") и GetProcAddress() для динамической загрузки указателя на эти функции из стандартной библиотеки Windows.
- Запрограммируйте эту функцию самостоятельно, например, замените malloc на VirtualAlloc(), free на VirtualFree() и т. д.
Или это какое-то другое решение моей проблемы? Спасибо