vc的編譯引數優化

2021-06-15 21:59:32 字數 1055 閱讀 8444

/*

author: void#ph4nt0m.org

*///

編譯器 cl.exe(visual c++ 6.0)

//沒有做任何優化情況下,編譯大小為:16k

//編譯優化後: 1k (用16進製制編輯器把尾部的0x00去掉: 712bytes)

#include 

<

windows.h

>

#pragma comment(lib,

"kernel32.lib")

//作用: 指定節對齊為512位元組

#pragma comment(linker, 

"/align:512")

//作用: 合併節

//將.data節和.rdata節合併到.text節(**節)

#pragma comment(linker, 

"/merge:.data=.text")

#pragma comment(linker, 

"/merge:.rdata=.text")

//作用: 指定子系統為windows (和優化無關)

//vc編譯器預設是console,會有個黑糊糊的cmd視窗,不好看.用windows就好了

#pragma comment(linker, 

"/subsystem:windows")

//作用: 指定入口函式

//子系統為windows的預設入口點winmain和console的預設入口點main,都會引入一段啟動stub**,指定入口函式可去掉之.

#pragma comment(linker, 

"/entry:main")

//int winmain(hinstance current, hinstance prev, lpstr cmdline, int showcmd)

//作用: 去掉函式的棧幀**,純屬吹毛求疵:-)

//即函式開頭的push ebp / mov ebp, esp和結尾的pop ebp / retn

__declspec(naked)

void

main()

VC的編譯開關引數大全

雖然我使用32位組合語言寫程式,但這種好東西還是有很大的收藏價值的!dsw 全稱是developer studio workspace,最高端別的配置檔案,記錄了整個工作空間 的配置資訊,她是乙個純文字的檔案,在vc建立新專案的時候自動生成 dsp 全稱是developer studio proje...

Mysql編譯安裝引數優化

關鍵字 mysql compile 1.static 13 with client ldflags all static with mysqld ldflags all static 複製 靜態鏈結提高13 效能 2.pgcc 1 cflags o3 mpentiumpro mstack align...

Mysql編譯安裝引數優化

mysql編譯安裝引數優化 關鍵字 mysql compile 1.static 13 with client ldflags all static with mysqld ldflags all static 靜態鏈結提高13 效能 2.pgcc 1 cflags o3 mpentiumpro m...