티스토리 뷰
segmentation Fault는 세그멘테이션 위반, 세그멘테이션 실패라고도 하며 세그폴트로 줄여서 쓰기도 한다.
세그멘테이션 결함의 주된 원인은 다음과 같다.
1. 프로그램이 허용되지 않은 메모리 영역에 접근 시도
2. 허용되지 않은 방법으로 메모리 영역에 접근을 시도
이중에서도 코드상에 가장 연관되어 있는 부분이 포인터이다.
C++에서 segfault가 발생하는 상황은 다음과 같다.
1. null 값을 가리키는 포인터에 접근하는 경우
int* myptr = NULL;
*myptr = 3;
2. read-only로 표시된 메모리 영역에 쓰려고 할때
char* myptr = "hello world";
*myptr = 'h';
3. 더 이상 존재하지 않는 메모리 영역을 가리킬 때
char* myptr = NULL;
{
char c = '1';
myptr = &c;
}
*myptr = 'S';
// myptr은 중괄호와 함꼐 존재하지 않게 되었는데 접근했으므로 segfault 발생
'우분투' 카테고리의 다른 글
[Ubuntu] 텍스트 파일의 한글 깨짐 현상 (1) | 2018.02.26 |
---|---|
[Ubuntu] Ubuntu, WIndows 멀티 부팅시 부팅순서 설정(grub 설정) (0) | 2018.02.26 |
vi 사용법 (1) | 2017.09.14 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 멀티부팅
- 카카오미니
- Embedding
- 한글깨짐
- 인공지능
- 웨이브
- 카카오mini
- 파이프라인
- 멜론스트리밍
- pipeline
- AI
- 누구
- Open
- 우분투
- 텍스트파일
- KAKAO
- 예약판매
- 순서변경
- Extending
- OpenGL
- 이미지처리
- 용어정리
- grub 설정
- NUGU
- kakaomini
- vi 사용법
- rendering
- 영상처리
- 에디터
- opencv
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함