VC 編譯1 5K的視窗程式

2021-04-15 15:22:53 字數 2026 閱讀 9262

//題目:怎樣使用   visual   c++   編譯出只有   1536   位元組的視窗程式

//這些技巧都是dreamtheater老大哥告我的……

//編譯出來後,檔案大小為:   1536   位元組

//預處理     

#include  

#include   "stdafx.h"   

//使用了下面的預處理,編譯連線時必須是   release   方式,否則不能通過     

//自定義程式入口,如果要優化,推薦使用這個     

//vc   6裡面也有類似的設定,但具體不記得了     

//專案屬性的其它設定可以仔細看看,其它優化也都在這裡可以設定    

#pragma   comment(linker,   "/entry:entrypoint")    

//下面是調整段對齊,預設是   4k,在   win98   下能更快地裝入   pe   檔案,但會增加   pe   檔案的大小    

//下面這一行在這裡好像會說是「無效的指令」什麼的,故在這裡也注釋掉了,也許是段太小的原因吧。    

//#pragma   comment(linker,   "/opt:nowin98")     

//下面的優化是段合併,不推薦使用,在很多程式裡也許也許不能使用

#pragma   comment(linker,   "/section:minipe,")                           //建立自定義的   minipe   section    

#pragma   comment(linker,   "/merge:.data=minipe")     //合併.data   section   到   minipe   section    

#pragma   comment(linker,   "/merge:.text=minipe")     //合併.text   section   到   minipe   section    

#pragma   comment(linker,   "/merge:.rdata=minipe")   //合併.rdata   section   到   minipe   section    

//全域性變數    

hwnd              g_hwnd;     //主視窗控制代碼,一般程式中經常用到此變數,故使用全域性變數    

hinstance      g_hinst;      //應用程式程序控制代碼,一般程式中經常用到此變數,故使用全域性變數    

//函式宣告    

lresult  callback  windowproc(hwnd  hwnd,  uint umsg,  wparam  wparam,  lparam lparam);    

int  winapi winmain(hinstance hinstance, hinstance hprevinstance, lpstr lpcmdline, int icmdshow);    

//入口函式    

//使用我們自己的入口函式,而不用聯結器預設提供的一大堆程式初始化操作的**    

//為了在乙個普通的   win32sdk   程式裡能使用這種方法,下面的函式將呼叫   winmain()   函式,並給出相應的引數    

void   entrypoint()    

//主函式    

int  winapi  winmain(hinstance hinstance, hinstance hprevinstance, lpstr lpcmdline, int icmdshow)    

return((int)   **sg.wparam);    

}    

//主視窗**函式    

lresult callback windowproc(hwnd hwnd,   uint umsg,   wparam wparam,   lparam lparam)    

return(0);    

}    

VC 下編譯出極小的程式

昨天做了個telnet後門程式玩,既然是後門嘛,自然是越小越好.可是我的vc9編譯乙個helloworld都有50k 動態鏈結到msvcrt90.dll倒是小下來了,但是得背上乙個更 的dll 600多k 而這個msvcrt90.dll就是我的vista sp1也不是自帶的.更不便於程式的部署.最後...

實踐VC 編譯器cl編譯C C 的程式

環境 windows上已經安裝了vs2005 1 設定環境變數 目的 在cmd視窗下自動識別cl命令 設定 在 我的電腦 屬性 高階 環境變數裡 include d program files microsoft visual studio 8 vc include lib d program fi...

用VC寫出1k多的程式

請用vc編譯,就可生成乙個1.5kb的程式了 是不是很小呢?2005.4.10 by ken include include pragmacomment linker,opt nowin98 pragmacomment linker,entry kenmain 設定程式入口 pragmacommen...