アニメ『エロマンガ先生』(2017)
面白ーい。血が繋がらない兄妹のどきどきアニメ。子供なのにプロのクリエーターって結構いるんでしょうねえ。うらやましい。尊敬してしまいます。引きこもり万歳です。一つ屋根の下、クリエーターが二人もいたら、影響しあって良い何かが生まれそうです。何かって何だろう。
(中級者向け記事はコチラ 中級者のためのLinuxコマンド入門)
では、ストリップコマンド使います。
簡単なCプログラムを作ってビルドします。
takk@deb8:~$ echo '#include <stdio.h> int main() { printf("HELLO\n"); } '>test.c takk@deb8:~$ gcc test.c takk@deb8:~$
takk@deb8:~/tmp3$ ls -l a.out -rwxr-xr-x 1 takk takk 6688 4月 24 23:19 a.out takk@deb8:~/tmp3$
実行ファイルに含まれる文字列は、77行ほどありました。
takk@deb8:~$ strings a.out > a.out.strings takk@deb8:~$ wc -l a.out.strings 77 a.out.strings takk@deb8:~$ head !$ head a.out.strings /lib64/ld-linux-x86-64.so.2 |KC libc.so.6 puts __libc_start_main __gmon_start__ GLIBC_2.2.5 fffff. []A\A]A^A_ HELLO takk@deb8:~$
a.outをコピーしたb.outを作って、stripしてみます。
takk@deb8:~$ cp a.out b.out takk@deb8:~$ strip -s b.out takk@deb8:~$ ls -l *.out -rwxr-xr-x 1 takk takk 6688 4月 24 23:19 a.out -rwxr-xr-x 1 takk takk 4416 4月 24 23:24 b.out takk@deb8:~$
a.outに比べて、b.outではかなりサイズが小さくなっていますね。
内包している文字列はどうなったでしょうか。
takk@deb8:~$ strings b.out > b.out.strings takk@deb8:~$ wc -l b.out.strings 39 b.out.strings takk@deb8:~$
文字列もたくさん減っています。
削減された文字列はこのとおりです。
takk@deb8:~$ diff [ab].*.strings 14,15d13 < .symtab < .strtab 42,77d39 < crtstuff.c < __JCR_LIST__ < deregister_tm_clones < register_tm_clones < __do_global_dtors_aux < completed.6661 < __do_global_dtors_aux_fini_array_entry < frame_dummy < __frame_dummy_init_array_entry < test.c < __FRAME_END__ < __JCR_END__ < __init_array_end < _DYNAMIC < __init_array_start < _GLOBAL_OFFSET_TABLE_ < __libc_csu_fini < _ITM_deregisterTMCloneTable < data_start < puts@@GLIBC_2.2.5 < _edata < _fini < __libc_start_main@@GLIBC_2.2.5 < __data_start < __gmon_start__ < __dso_handle < _IO_stdin_used < __libc_csu_init < _end < _start < __bss_start < main < _Jv_RegisterClasses < __TMC_END__ < _ITM_registerTMCloneTable < _init takk@deb8:~$
コメント