要最小化编译出来的文件体积,可以使用以下指令:
cl.bat,其中关键是 /MD 参数,用动态链接库方式 link 可执行程序,这样会依赖系统DLL库。
@echo off
set vs=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532
set sdk_lib=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22000.0
set sdk_inc=C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0
set path=%path%;%vs%\bin\Hostx86\x86
set INCLUDE=%vs%\include;%sdk_inc%\shared;%sdk_inc%\ucrt;%sdk_inc%\um;%sdk_inc%\winrt
set LIB=%vs%\lib\x86;%sdk_lib%\um\x86;%sdk_lib%\ucrt\x86
cl.exe /nologo /MD /DELAYLOAD /Gw /GL /O2 /Gs /GS- %*l
例如:
cl.bat main.c