data 영역이나 stack 영역은 뭐 소스를 보고
계산해도 나올 수 있다고 하지만..
code 영역의 크기는 어떻게 하면 알 수 가 있을까요??
> size /bin/ls text data bss dec hex filename 21630 544 388 22562 5822 /bin/ls
-- 익스펙토 페트로눔
제가 깜빡하고 환경을 이야기 안했네요....
linux나 유닉스 가 아니고..
원도우 랍니다..허허허
윈도라면 PE 파일 포멧을 공부하면 되지 않을까요? (이렇게는 동적로드 코드 사이즈는 알 수 없겠군요 :( )
Visual C++ 에 포함되어 있는 dumpbin 이란 유틸리티를 이용하시면 아실 수 있습니다. 몇가지 옵션을 주면 더 자세한 정보를 확인하실 수도 있습니다.
C:\WINDOWS>dumpbin explorer.exe Microsoft (R) COFF/PE Dumper Version 7.10.3077 Copyright (C) Microsoft Corporation. All rights reserved. Dump of file explorer.exe File Type: EXECUTABLE IMAGE Summary 2000 .data 4000 .reloc B2000 .rsrc 45000 .text
Dump of file explorer.exe
File Type: EXECUTABLE IMAGE
Summary
2000 .data 4000 .reloc B2000 .rsrc 45000 .text
윈도우라도 cygwin을 쓸 수 있겠죠... :)
cjh@xxx /cygdrive/c/windows $ size explorer.exe text data bss dec hex filename 1022101 6144 0 1028245 fb095 explorer.exe cjh@xxx /cygdrive/c/windows $
기본적으로 제공해주는 유틸들을 모르고 있었네요.
답변 해주신 모든 분들~ 감사합니다.~~
그리고 추가 질문 하나 더 할께요 :twisted: ^^
만약 클래스 하나(멤버 변수 하나만 있는 )로 구성된 프로그램이 있다고 치고..
이 프로그램은 시작시엔 생성자를 실행시키는 것외엔 하는 일이 없다면
이 프로그램이 시작할때 메모리에 로드되는 값을 얼마나 되나요?
data영역이랑 bss 영역 두 영역을 합하면 되나요?
code 영역의 값도 얼마정도 더해야 하는건지? ...
흠...
프로그램이 로드될때 메모리를 얼마나 잡아 먹는지 알아볼려고 하는데 .... 애매 하네요..
시작메뉴 -> Visual Studio -> Visual Studio 도구들 가보면 Process Viewer 라는 툴이 있습니다. 그걸로 실행중인 프로세스를 선택하신 후 Memory Details 를 확인해보시면 됩니다.
님ㅎ 즐~
텍스트 포맷에 대한 자세한 정보
<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]
[code:1]> size /bin/ls text da
--
익스펙토 페트로눔
흠...
제가 깜빡하고 환경을 이야기 안했네요....
linux나 유닉스 가 아니고..
원도우 랍니다..허허허
윈도라면 PE 파일 포멧을 공부하면 되지 않을까요?(이렇게는 동적로드
윈도라면 PE 파일 포멧을 공부하면 되지 않을까요?
(이렇게는 동적로드 코드 사이즈는 알 수 없겠군요 :( )
Visual C++ 에 포함되어 있는 dumpbin 이란 유틸리티를 이용
Visual C++ 에 포함되어 있는 dumpbin 이란 유틸리티를 이용하시면 아실 수 있습니다. 몇가지 옵션을 주면 더 자세한 정보를 확인하실 수도 있습니다.
윈도우라도 cygwin을 쓸 수 있겠죠... :)[code:1]
윈도우라도 cygwin을 쓸 수 있겠죠... :)
--
익스펙토 페트로눔
답변 감사드립니다.
기본적으로 제공해주는 유틸들을 모르고 있었네요.
답변 해주신 모든 분들~ 감사합니다.~~
그리고 추가 질문 하나 더 할께요 :twisted: ^^
만약 클래스 하나(멤버 변수 하나만 있는 )로 구성된 프로그램이 있다고 치고..
이 프로그램은 시작시엔 생성자를 실행시키는 것외엔
하는 일이 없다면
이 프로그램이 시작할때 메모리에 로드되는 값을 얼마나 되나요?
data영역이랑 bss 영역 두 영역을 합하면 되나요?
code 영역의 값도 얼마정도 더해야 하는건지? ...
흠...
프로그램이 로드될때 메모리를 얼마나 잡아 먹는지 알아볼려고
하는데 .... 애매 하네요..
Process Viewer
시작메뉴 -> Visual Studio -> Visual Studio 도구들
가보면 Process Viewer 라는 툴이 있습니다.
그걸로 실행중인 프로세스를 선택하신 후 Memory Details 를 확인해보시면 됩니다.
님ㅎ 즐~
댓글 달기