# errno

4개의 포스트
post-thumbnail

[python] OSError: [Errno 28] No space left on device 원인과 해결

OSError: [Errno 28] No space left on device 사실 이건 에러 메시지가 직관적이기 때문에 포스트가 필요 없을 정도지만 에러가 발생한 기념으로 작성한다. local storage 용량이 꽉 찼을 때, pyinsaller로 build 시도를 하는 것과 같이 용량이 증가하는 작업을 시도했는데 용량이 부족한 경우 터미널에 OSError 메시지가 나타난다. 용량을 확보한 뒤에 작업을 진행하면 된다.

2022년 11월 1일
·
0개의 댓글
·
post-thumbnail

[minishell] 4. 종료상태와 에러메세지 처리

1. 종료 상태(exit status)와 $? 변수 모든 명령어는 종료 상태(exit status) 리턴한다. 명령어가 성공시에는 0을 리턴하고 실패시에는 에러 코드로 해석될 수 있는 non-zero(1~255)를 리턴한다. 마찬가지로 유닉스 관례를 잘 따르는 프로그램, 스크립트 등 이라면, 함수의 가장 마지막에 실행된 명령어가 종료 상태를 결정한다. 출처 $? 변수는 제일 마지막 명령어의 종료 상태 코드 값을 가진다. bash에서는 이렇게 해서 함수의 리턴값을 돌려주는 것이다. > 상단의 터미널 이미지 참고 ! 2. 종료 상태 코드(exit status code) 몇몇 종료 상태 코드들은 예약되어 있기 때문에 사용자가 임의로 exit 의 매개변수로 쓰면 안 된다. 흔히 프로그램에서 에러 발생시

2021년 2월 12일
·
0개의 댓글
·

[Assembly Language] 시스템콜 에러처리

error 처리 🎯 외부 함수 __error를 사용해서 errno의 값을 세팅해줄 것 >- Your code must set the variable errno properly. >- For that, you are allowed to call the extern _error. errno란? 🎯 error number의 줄임말로, 가장 최근 에러의 번호를 담는 integer 타입 변수다 프로그램이 시작하면 errno는 0으로 초기화된다 일부 함수들은 에러가 감지됐는지 확인하기 위해 작업 전에 errno를 미리 0으로 설정해둔다고 한다 에러가 생기면 시스템 콜 함수는 NULL이나 -1 등을 반환한다. 에러 타입을 파악하기 위해 외부변수 errno에 에러 번호가 담긴다 매뉴얼 페이지에서 에러 번호에 따른 에러 타입을 명시하고 있다 > When a system call detects an error,

2020년 12월 23일
·
0개의 댓글
·
post-thumbnail

[libasm] strlen 함수를 어셈블리어로 짠다면?

1. strlen 함수를 어셈블리어로 짠다면? 인자로 받은 문자열의 길이를 구하는 ft_strlen 함수이다. 시작주소부터 +1씩 증가하다가 널문자(0)를 만나면 반복문을 탈출하고 구한 길이를 반환한다. 얘를 어셈블리어로 변환해보자! > 어셈블리 프로그램을 짜려면 먼저 함수 호출 규약을 알아야 한다. 더 자세한 내용은 여기 참고. 매개변수로 받은 s의 주소는 rdi 레지스터에 들어온다. rdi 레지스터의 값은 BYTE [rdi]로 참조한다. rax를 통해 리턴 값을 반환한다. 위 레지스터를 활용해 어셈블리어로 코드를 짜면 아래와 같다. 어

2020년 11월 27일
·
0개의 댓글
·