最近在porting live555 到我們arm的板子上
由於板子只有16MB的空間可供使用(uboot+kernel+squashfs+user_space),可以說空間相當的吃緊
偏偏在作live555 cross-compiler放到板子後,竟然缺少了libstdc++.so.6這個C++的library。
缺了就補給他,於是跑去toolchain中找這個for arm的C++ libray,發現檔案大小竟然是3.7MB
若是這個檔案放上板子,空間就被去掉1/4了 @@"
於是就找了一些瘦身的方法,找到一個不錯的指令 "arm-linux-strip"
其作用是: 去掉elf可執行文件的資訊,使可執行文件變小
其實也是標準編譯時就可以加入的指令,使用之後發現還真不錯用 3.7MB變成----> 600KB左右
真是解決了我的心頭大患,不過如果編譯過程已經有加入這指令,你再執行一次大小是不會改變的
另外有看到一個滿厲害的東西 "用C++寫code 不用用到C++ lib去編譯" 可以參考這篇作者寫的
http://ptspts.blogspot.tw/2010/12/how-to-write-c-program-without-libstdc.html
不過要這樣做,在寫code的過程中,會有一些header檔不能include的限制~
沒有留言:
張貼留言