free(buf) 와 buf = 0 의 차이?
개요 이번 주에 42서울 라피신 rush01 평가 봉사를 하면서 int형 배열의 길이를 while(arr != '\0')로 확인할 경우 -fsanitize=address -g 로 옵션을 지정하여 컴파일하면 buffer-overflow가 발생할 수 있다는 사실을 알게됐다. 원인 문자열의 경우 끝을 알려주는 종결자(terminator, sentine...
개요 Undefined behavior, unspecified behavior, implementation-defined behavior는 C/C++ 언어에서 프로그램이 특정 상황에 어떻게 동작해야하는지를 나타내는 용어이다. Undefined behavior 개념 언어 명세가 프로그램의 동작을 명시하지 않은 상황을 가리킨다. 프로그램의...
gcc [filename] #기본 컴파일 명령어. 실행파일 이름은 a.out으로 생성 gcc -o [output name] [filename] #실행파일 이름을 지정 gcc -o [output name] [f1] [f2] [f3] #파일 여러개 하나로 컴파일 gcc -Wall #모든 모호한 코드에 대해 경고
컴파일의 4단계
메모리 구조