일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 자바
- 모션비트
- 큐
- Flutter
- Vue.js
- 백준
- 크래프톤정글
- 시스템콜
- 소켓
- JavaScript
- CSS
- 사이드프로젝트
- 코드트리
- 오블완
- 4기
- 티스토리챌린지
- HTML
- userprog
- pintos
- 리액트
- defee
- Java
- TiL
- 크래프톤 정글
- 핀토스
- 나만무
- 스택
- 알고리즘
- 자바스크립트
- corou
- Today
- Total
목록process.c (2)
미새문지
https://moonmisae-cdpt.tistory.com/176 pintOS - project2(Userprog) process.c process.c 더보기 // 명령줄 인자를 스택에 배치한다. void argument_stack (char **argv, int argc, struct intr_frame *if_){ int minus_addr; int address = if_->rsp; // 스택 포인터(rsp)의 현재 위치를 담는다. // moonmisae-cdpt.tistory.com 코드 분석에 어려움이 있어 아직 process.c는 진행중이다. syscall.c는 시스템 콜의 작동 코드를 작성하기 때문에 어느정도 이해가 되는데 pro..
process.c 더보기 // 명령줄 인자를 스택에 배치한다. void argument_stack (char **argv, int argc, struct intr_frame *if_){ int minus_addr; int address = if_->rsp; // 스택 포인터(rsp)의 현재 위치를 담는다. // 인자를 거꾸로 넣기 위해 마지막부터 루프 for (int i = argc-1; i >= 0;i-- ){ // 현재 인자의 길이 + '\0'(1개)를 minus_addr에 저장 minus_addr = strlen(argv[i]) + 1; //if onearg, value = 7 address -= minus_addr; // 인자 크기만큼 address를 감소시켜 저..