我不宅,我只是不出門

Murmur of a technical dude

幫 Mac OS X 的 Universal Binaries 減肥

leave a comment »

這是從 macosxhints – Strip x86 code from fat binaries 所翻譯的 summary。原因是 Universal Binaries(後簡稱 “fat")包含了 PPC & x86 兩種的機器碼在執行檔裡面(減輕從 PPC 到 x86 的 transition 痛苦),因此如果是 end-user 單單只有在其中一種架構上使用,那麼許多程式 fat 裡面額外用不到的機器碼就只是佔空間而已。如果把他去除掉,甚至可以把 fat 減肥 30%。其中一種用複製檔案的方法是

ditto –rsrc –arch ppc /Applications/Foo.app /Application/Foo-ppc.app

其中的 Foo.app 是原始程式,Foo-ppc.app 是要產生的程式檔名,而 –arch ppc 是指 PowerPC 架構,如果相反要在 x86 上把 PPC 機器碼去除,則是改成 –arch i386
另外一種方法是使用 Tiger 內建的 lipo 指令,作法是

lipo -thin ppc
lipo -remove i386

如此就可以直接保留 PPC 架構或是去除 i386 架構的部份。
兩個都是同樣的功能,唯一的差別是在,使用 ditto 可以在任何的版本 Mac OS X 上作,而 lipo 需要在支援 fat 的系統上(可能是 10.4 or 10.5)。

Tags:

Written by jclin

2005/08/18 於 8:29 上午

張貼於talk

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s

%d 位部落客按了讚: