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