青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

這是網上看到的,放到這里記錄下,供以后參考

1. 普通Exe 文件

完全可以使用下面方法: 
A. link標記: /nodefaultlib 
代表: Ignore all default libraries

包括運行時庫, 都不用.

當然如果大家要用相關c運行時庫的api 怎么辦呢? 
可以使用相關對應的API, 比如strcmpi, 使用lstrcmpi, 詳細請參考下表:

Standard functionWin32 equivalent
mallocHeapAlloc
freeHeapFree
strcpylstrcpy
strcatlstrcat
strncpylstrncpy
strncatlstrncat
strlenlstrlen
strcmplstrcmp
strcmpilstrcmpi
memcpyCopyMemory
memsetFillMemory or ZeroMemory
memmoveMoveMemory
toupperCharUpper
tolowerCharLower
isalphaIsCharAlpha
isalnumIsCharAlphaNumeric
islowerIsCharLower
isupperIsCharUpper
sprintfwsprintf
vsprintfwvsprint

B. 設置連接節大小及其他
加入下面代碼到cpp文件就可以.

#ifndef _DEBUG   
 #pragma comment(linker, "/FILEALIGN:16")  
 #pragma comment(linker, "/ALIGN:16")   

 #pragma comment(linker, "/OPT:REF")
 #pragma comment(linker, "/OPT:ICF")
 #pragma comment(linker, "/OPT:NOWIN98")  // 使用老VC編繹器的512大小為一節

 // 合并段
 #pragma comment(linker, "/MERGE:.rdata=.data")
 #pragma comment(linker, "/MERGE:.text=.data")
 #pragma comment(linker, "/MERGE:.reloc=.data")

 // Favour small code
 #pragma comment(linker, "/ENTRY:WinMain")
#endif

如果是少量代碼的Exe 程序, 最終大小可以在1500 字節以內. 
我曾寫過一個程序使用了文件讀寫, 執行進程, 字符運算, 等等一共50多行代碼, 最終大小為: 1488字節.


C. 不幸的是可能還是要使用c運行庫
那可以使用這個 LIBCTINY.LIB文件, 以盡量減小. 當然這個lib 本身包括不多的運行庫api. 
LIBCTINY.LIB 文件以及源程序參考: 
http://msdn.microsoft.com/msdnmag/issues/01/01/hood/default.aspx

 

 

2. 普通Dll 大小問題


因為: __DllMainCRTStartup 或: _DllMainCRTStartup 要調用運行時庫
還好, LIBCTINY.LIB 里面已經有相關實現, 可以用LIBCTINY.LIB, 而不用調用運行庫了. 這樣可以大大減小.

連接設置:

#ifndef _DEBUG

 // default lib setting.
 #pragma comment(linker, "/defaultlib:kernel32.lib") 
 #pragma comment(linker, "/defaultlib:LIBCTINY.LIB")
 #pragma comment(linker, "/nodefaultlib:libc.lib")
 #pragma comment(linker, "/nodefaultlib:libcmt.lib")

 // section size
 #pragma comment(linker, "/FILEALIGN:16")
 #pragma comment(linker, "/ALIGN:16") 
 #pragma comment(linker, "/OPT:NOWIN98")

 // 合并段
 #pragma comment(linker, "/MERGE:.rdata=.data")
 #pragma comment(linker, "/MERGE:.text=.data")
 #pragma comment(linker, "/MERGE:.reloc=.data")

#endif

另外我的測試程序中導出了一個接口
BOOL _stdcall ExpHook( )
{
 return 0;
}

最終大小為: 992字節.

 

 

3. 復雜Dll 和復雜Exe 大小問題

如果你的程序一定要使用MFC, 那怎么編繹至少也有幾十KB了.
但你還是可以用相關PE壓縮程序壓縮一下的. 至少能壓縮到50%.

如果是COM, 建議不要使用MFC, 如果使用ATL, 可以使用壓縮程序壓縮一下, 基本會在20-40K 大小.

復雜類型的Dll, Exe 肯定是要使用運行庫的. 像用了ATL就沒有辦法不用運行庫了.

posted on 2012-07-07 15:17 Richard Wei 閱讀(5524) 評論(1)  編輯 收藏 引用 所屬分類: windows desktop

FeedBack:
# re: 如何減小Exe, DLL 的大小
2012-07-07 15:23 | Richard Wei
感覺另外還有應該盡量少用全局和靜態變量,他們會被直接編譯到PE文件的數據(.data, .rdata)段中;另外圖片等資源也挺耗空間,簡單的圖片可以在運行時自己畫出來。  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            99av国产精品欲麻豆| 欧美大片在线观看一区| 亚洲欧美www| 国产欧美丝祙| 米奇777在线欧美播放| 久久精品2019中文字幕| 亚洲电影免费观看高清完整版在线| 夜夜精品视频| 国产麻豆日韩欧美久久| 老司机午夜精品视频| 一本色道久久精品| 久久久人人人| 欧美激情久久久| 亚洲日本无吗高清不卡| 一区二区三区免费观看| 国产一区二区成人| 亚洲国产精品va在看黑人| 欧美日韩1区2区| 久久免费观看视频| 欧美日韩另类国产亚洲欧美一级| 国产精品久久久久久久9999| 欧美影院午夜播放| 欧美精品色网| 久久久青草青青国产亚洲免观| 亚洲国产欧美一区二区三区同亚洲| 9i看片成人免费高清| 国产一区二区日韩精品欧美精品| 亚洲精品韩国| 欧美一区深夜视频| 亚洲午夜91| 久久婷婷国产综合尤物精品 | 欧美大片一区二区| 欧美视频在线观看 亚洲欧| 狂野欧美激情性xxxx欧美| 国产精品国产成人国产三级| 美女亚洲精品| 国产亚洲福利| 一二三区精品| 亚洲免费观看高清在线观看 | 在线综合亚洲| 日韩午夜av在线| 久久久蜜桃一区二区人| 欧美一区二区三区视频免费| 欧美国产精品专区| 欧美成人免费网| 国产亚洲精品久| 亚洲尤物在线视频观看| 亚洲精品午夜| 欧美波霸影院| 美女91精品| 极品av少妇一区二区| 亚洲欧美一区二区三区极速播放| 国产精品视屏| 亚洲视频欧美视频| 亚洲午夜极品| 欧美日韩国产一区二区三区| 亚洲国产精品ⅴa在线观看 | 久久久久一区二区| 久久久国产成人精品| 国产精品欧美久久| 亚洲综合二区| 欧美夜福利tv在线| 国产伦精品一区二区三区四区免费 | 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲在线黄色| 正在播放日韩| 欧美啪啪一区| 一区二区免费在线播放| 亚洲网站视频| 国产精品乱码人人做人人爱| 亚洲视频一区二区| 久久国产精品一区二区三区四区| 欧美一区二区视频免费观看| 先锋a资源在线看亚洲| 国产精品羞羞答答| 午夜亚洲精品| 久久综合中文色婷婷| 亚洲国产清纯| 欧美日韩视频专区在线播放| 一区二区欧美激情| 久久久亚洲影院你懂的| 伊人成年综合电影网| 欧美成人免费视频| 99re8这里有精品热视频免费| 蜜桃久久精品乱码一区二区| 免费在线成人av| 99精品国产在热久久| 国产精品一区久久| 久久野战av| 日韩视频―中文字幕| 久久精品一级爱片| 亚洲黑丝在线| 国产裸体写真av一区二区| 久久在线视频| 亚洲每日更新| 久久全国免费视频| 亚洲毛片在线观看.| 国产免费成人在线视频| 久久免费精品视频| 宅男精品视频| 亚洲成人在线视频播放 | 亚洲小视频在线| 久久精品日韩| 日韩视频一区二区在线观看 | 欧美91精品| 亚洲小说春色综合另类电影| 黄色影院成人| 欧美日韩一区国产| 午夜精品福利在线| 亚洲精品中文字幕在线| 久久久99爱| 亚洲欧美日韩高清| 日韩特黄影片| 一色屋精品亚洲香蕉网站| 欧美日韩岛国| 欧美69wwwcom| 久久久国产午夜精品| 亚洲性线免费观看视频成熟| 欧美国产视频一区二区| 欧美在线视频免费播放| 在线亚洲欧美专区二区| 亚洲国产精品www| 国内外成人免费激情在线视频网站 | 亚洲第一福利社区| 亚洲欧美不卡| 亚洲理伦电影| 亚洲黄页一区| 亚洲国产成人久久综合| 狠狠色狠狠色综合日日tαg | 这里只有精品视频| 美女黄网久久| 玖玖精品视频| 久久精品国亚洲| 性欧美1819sex性高清| 亚洲特级毛片| 亚洲欧美激情视频| 亚洲网站在线观看| 在线综合+亚洲+欧美中文字幕| 欧美激情亚洲综合一区| 美女主播视频一区| 久久久久久亚洲精品不卡4k岛国| 狂野欧美一区| 久久九九热re6这里有精品| 欧美怡红院视频| 久久不射中文字幕| 久久精品亚洲国产奇米99| 欧美淫片网站| 麻豆国产va免费精品高清在线| 国产一区二区三区四区五区美女| 欧美一区2区三区4区公司二百| 久久国产主播精品| 久久激情中文| 久久精品国产欧美激情| 久久国产一区二区三区| 久久精品日韩| 欧美成人免费在线| 91久久精品网| 亚洲网站在线看| 欧美在线一区二区三区| 久久久一区二区| 欧美成人亚洲| 欧美性一区二区| 国产一区二区三区黄视频| 国产在线日韩| 亚洲免费观看在线视频| 亚洲一区二区在线观看视频| 欧美专区日韩专区| 欧美成人激情在线| 一区二区激情| 欧美一区二区三区在线观看视频| 久久精品国产在热久久| 久久影视精品| 亚洲精华国产欧美| 亚洲一区日韩在线| 欧美一级片久久久久久久| 巨乳诱惑日韩免费av| 欧美日韩免费观看一区三区| 国产欧美日韩在线播放| 亚洲激情综合| 午夜久久黄色| 亚洲高清视频一区二区| 亚洲一区激情| 噜噜噜在线观看免费视频日韩 | 欧美3dxxxxhd| 亚洲色图制服丝袜| 久久一本综合频道| 国产麻豆一精品一av一免费| 亚洲激情视频网站| 亚洲欧美视频在线观看| 狼狼综合久久久久综合网 | 国产精品美女www爽爽爽| 在线观看中文字幕不卡| 中文在线资源观看网站视频免费不卡| 欧美三区不卡| 伊人久久婷婷色综合98网| 国产精品夜夜夜| 在线精品视频在线观看高清| 亚洲欧美大片| 亚洲精品久久久久久下一站| 久久久免费观看视频|