UNIX下文件壓縮命令compress大家都比較熟悉了,它的壓縮率比較高, 和tar命令結合使用來做數據備份是最合適不過了。但compress壓縮也有缺點,就是被壓縮後的文件需要用命令uncompress解壓後才能正常使用。而用strip命令就沒有這個問題,它能清除執行文件中不必要的標示符及調試信息,可減小文件大小而不影響正常使用。但與compress 不同的是,文件一旦strip後就不能恢復原樣了,所以strip是一個減肥工具而不是壓縮工具。而且,被strip後的文件不包含調試信息,就不能用dbx來調試程序了。現在讓我們來具體效果如何,看下面一個程序:
#include
main()
{
printf("hello, world\n");
}
用cc編譯以後長度為46176字節,用strip後變為了30648,足足減小了 1/3,而且仍然可以正常執行。除了用strip外,用共享庫也是減小執行文件長度的方法。
注:
1.如果文件大小沒有減小,那就是已經strip過了.
某種節約空間的辦法:
那就是對於單個比較大的可執行文件可以編寫一個zexec腳本.下面的腳本只是針對/usr/bin/cc的
uncompress ./cc.Z
mv cc /tmp
cd /tmp
./cc