UNIX下執(zhí)行文件的減肥工具strip
Unix下文件壓縮命令compress大家都比較熟悉了,它的壓縮率比較高, 和tar命令結(jié)合使用來做數(shù)據(jù)備份是最合適不過了。但compress壓縮也有缺點(diǎn),就是被壓縮后的文件需要用命令uncompress解壓后才能正常使用。而用strip命令就沒有這個(gè)問題,它能清除執(zhí)行文件中不必要的標(biāo)示符及調(diào)試信息,可減小文件大小而不影響正常使用。但與compress 不同的是,文件一旦strip后就不能恢復(fù)原樣了,所以strip是一個(gè)減肥工具而不是壓縮工具。而且,被strip后的文件不包含調(diào)試信息,就不能用dbx來調(diào)試程序了。現(xiàn)在讓我們來具體效果如何,看下面一個(gè)程序: #include main() { printf('hello, worldn'); } 用cc編譯以后長(zhǎng)度為46176字節(jié),用strip后變?yōu)榱?0648,足足減小了 1/3,而且仍然可以正常執(zhí)行。除了用strip外,用共享庫也是減小執(zhí)行文件長(zhǎng)度的方法。 注: 1.如果文件大小沒有減小,那就是已經(jīng)strip過了. 2.cc 編譯時(shí)加上'-s'參數(shù),具有同樣的作用。 某種節(jié)約空間的辦法: 那就是對(duì)于單個(gè)比較大的可執(zhí)行文件可以編寫一個(gè)zexec腳本.下面的腳本只是針對(duì)/usr/bin/cc的 uncompress ./cc.Z mv cc /tmp cd /tmp ./cc
