vc编译最小文件

#include   

#pragma comment(linker,"/entry:WinEntry")   
#pragma comment(linker,"/subsystem:windows")   
#pragma comment(linker,"/align:016")   
#pragma comment(linker,"/merge:.text=.rdata")   
    
void WinEntry()
{
MessageBox(NULL,"","",MB_OK);
}  

///////要使生成的程序体积最小添加这四行就行了
#pragma comment(linker,"/OPT:NOWIN98")
#pragma comment(linker,"/merge:.data=.text") //合并为同一个段
#pragma comment(linker,"/merge:.rdata=.text") //合并为同一个段
#pragma comment(linker,"/align:0x200") //定义最小节的大小,数值越小程序体积越小 ^_^
////////以下的内容要不要无所谓了
#pragma comment(linker,"/ENTRY:MyMain") ///更改默认的入口函数
#pragma comment(linker,"/subsystem:windows") //这样双击运行程序的时候就不会出现cmd窗口了
///////使用以下这三个lib,多余的不用
#pragma comment(lib,"user32.lib")
#pragma comment(lib,"kernel32.lib")
#pragma comment(lib,"msvcrt.lib")

生成文件.手工删除末尾空字符.

第一个程序测试结果636Byte.第二个测试windows窗口.1K多一点.还可以再精简.

你可能感兴趣的:(编程,VC)