vc編譯最小文件

#include <windows.h>  

#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多一點.還可以再精簡.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章