하나의 파일에서 컴파일시 옵티마이즈(-O3)을 사용하여 파일 사이즈를 줄이려 했는데... 줄어들지가 않더군요..
이외에 코드상에서 줄여주는 방법으로는 무엇이 있을까요?
답변 부탁드리겠습니다.
디버그 옵션 -g 을 풀어주는 방법이 있고, 옵티마이즈는 적당한것이 -O2라고 들었습니다. (최적화 코딩 이땐 디버깅하면 이상함)
https://github.com/la9527
사이즈 최적화인 -Os 로 컴파일 하시고
strip -s 실행화일
로 symbol 떼어내면 꽤 줄어들겁니다.
http://wiki.kldp.org/wiki.php/GccOptimizationOptions
-g를 활용하셔도 되고 strip을 활용하셔도 되겠죠.
X86 리눅스 등에서 실행파일을 만드신다면 UPX를 써보시는 것도 괜찮을지도요.
앞분에서 -O2라고 말씀이 잇어서 올립니다.
그러나 -O3 와 -O2로 option으로 컴파일하여 비교할 경우
거의 차이가 없는 것을 볼수 있습니다.
apache의 경우 -O2를 사용하고 있고 대부분의 open source가 -O2를 사용하고 있어서 -O2로 알고 있는 것같습니다.
그리고 프로그램의 warning 까지 깔끔하게 잡고 싶으신 경우 -W -Wall 옵션을 사용하여 컴파일 하시면 될것 같습니다.
O3 이상 갈 경우 object 파일의 크기가 더 커질 수 있습니다.
loop를 풀거나, 함수 호출을 inline으로 하는 등의 최적화가 시도되거든요.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
디버그 옵션 -g 을 풀어주는 방법이 있고, 옵티마이즈는 적당한것이
디버그 옵션 -g 을 풀어주는 방법이 있고,
옵티마이즈는 적당한것이 -O2라고 들었습니다.
(최적화 코딩 이땐 디버깅하면 이상함)
https://github.com/la9527
사이즈 최적화인 -Os 로 컴파일 하시고[code:1]stri
사이즈 최적화인 -Os 로 컴파일 하시고
로 symbol 떼어내면 꽤 줄어들겁니다.
http://wiki.kldp.org/wiki.php/GccOptimiz
http://wiki.kldp.org/wiki.php/GccOptimizationOptions
-g를 활용하셔도 되고 strip을 활용하셔도 되겠죠.
X86 리눅스 등에서 실행파일을 만드신다면 UPX를 써보시는 것도 괜찮을지도요.
최적 싸이즈 -Ox
앞분에서 -O2라고 말씀이 잇어서 올립니다.
그러나 -O3 와 -O2로 option으로 컴파일하여 비교할 경우
거의 차이가 없는 것을 볼수 있습니다.
apache의 경우 -O2를 사용하고 있고 대부분의 open source가 -O2를 사용하고 있어서 -O2로 알고 있는 것같습니다.
그리고 프로그램의 warning 까지 깔끔하게 잡고 싶으신 경우 -W -Wall 옵션을 사용하여 컴파일 하시면 될것 같습니다.
O3 이상 갈 경우 object 파일의 크기가 더 커질 수 있습니다.
O3 이상 갈 경우 object 파일의 크기가 더 커질 수 있습니다.
loop를 풀거나, 함수 호출을 inline으로 하는 등의 최적화가 시도되거든요.
댓글 달기