프로그래밍 QnA + 설치 및 활용 QnA

익명 사용자의 이미지

GDB에서 run 이후에 명령 주소가 바뀌는 것에 대해 질문드립니다.

일단 C로 간단하게 짜고 GDB로 디버깅해 보았습니다.
아래는 gdb를 실행시키고 아직 run 하지 않은 상태에서 disas main을 해본 상태입니다.

tmd5785의 이미지

객체지향 프로그래밍 입니다.

제가 풀어본거도 있지만 너무 모르는 부분이 많네요 ㅠㅠ 각 문제 설명좀 해주실수 있을까요?

renboy의 이미지

프로그램 실행 시 메모리에 적재되는 최초 명령어에 대해서 질문 드립니다.

안녕하세요.

현재 프로그램 컴파일 후 프로그램 실행 시 진행되는 과정에 대해서 공부 중입니다.
다름이 아니라 인터넷에 제가 궁금한 부분을 도저히 찾질 못하겠어서 이렇게 질문드립니다.

프로그램이 실행되면 메인 메모리에 명령어가 적재되는 것으로 알고 있습니다.
함수 내부에 int a=10; 코드를 선언하면 "스택 영역에 4byte 크기의 데이터 영역를 확보하고 10 값을 넣어라" 라는 명령어가 적재되는 것으로 파악하고 있습니다.
(아니라면 알려주시기 바랍니다. 이 부분이 조금 모호하네요;;)

제가 현재 가장 궁금한 점은 프로그램 실행 시 로더가 실행 파일의 헤더 파일 읽어 메인 메모리에 프로그램을 적재한다는 부분입니다.

프로그램이 최초 실행되서 메인 메모리에 프로그램이 적재된다는 것 자체가

main 함수가 실행되기 위해 필요한 인자들과 전역 변수 같은 데이터들만 우선적으로 올라가는 것 인지...
아니면 명령어들만 적재되고 명령어에 따른 동작들은 명령 처리 후에 발생하는 것인지...

cis1281의 이미지

ㅇㅇ

ㅇㅇ

renboy의 이미지

코드, 힙, 스택, 데이터 영역은 메인 메모리 안에 있는 것인가요?

안녕하세요.

프로그램 동작 원리 및 과정이 중요하다고 해서 요새 이 부분에 대해서 공부를 하고 있습니다.

하드디스크에 있던 .exe 파일을 실행시키면
해당 .exe 파일의 소스 코드와 데이터들이 메인 메모리로 복사되는 것으로 알고 있습니다.

그렇다면 프로그램 실행 중에 메로리가 저장되는 힙, 코드, 스택, 데이터 이러한 영역들은
메인 메모리(RAM) 안에 있는 영역들인지 궁금합니다.

감사합니다.

세벌의 이미지

smb port 차단 방법?

http://www.etnews.com/20170420000138
읽고 질문 드립니다.
아직 윈도 XP 쓰는 곳이 있어서...
smb port 막으려면 어떻게 하나요?

완 LEE@Google의 이미지

리눅스서버를 게이트웨이로사용

일단 제 상황을 말해보자면 평소에 코딩을 좀 난잡하게 (여기저기서 라이브러리끌어와 써서...)하는 스타일이라

얼마전에 팬티엄서버에다 우분투-KVM설정 해두고 가상화해서 가상화된 리눅스 속에서 이것저것 완성하는 일을 반복해 왔습니다.

이렇게 쓰니 시스템 포맷할일이 없어서 좋긴 한데 그래도 생기는 불편함이 가상화된 리눅스에 SSH로 접속하기위해 "우분투-KVM"에 SSH로 접속한뒤 그 속에서 SSH명령어로 서버가 자체할당한 Private IP주소에 접속해서 써야한다는 점 입니다. (ssh 192.168.122.25 과 같이)

이런느낌으로?:
외부 컴퓨터 --ssh--> 우분투-KVM --ssh--> 가상화된 리눅스

이러한 불편함을 조금 덜어보고자 생각해낸 방법이 "192.168.122.25 이라는 IP주소가 어디있는지만 알려줄수 있으면 되는거 아닌가?" 란 생각에

공유기 라우팅테이블을 변경해서 "192.168.122.1"이란 아이피주소를 "192.168.0.37"(우분투-KVM IP주소)에서 찾아! 까지는 성공했습니다만......

페이지

프로그래밍 QnA + 설치 및 활용 QnA 구독하기