C 프로그램을 실행하면 가장 먼저 main 함수가 호출된다.main 함수의 원형은 다음과 같다.첫 번째 매개변수 argc는 명령행 인수(command-line argument)의 개수이고 argv는 그 인수들을 가리키는 포인터의 배열이다.main 함수가 호출되기 전에
어떤 프로그램이 실행될 때, 실행을 위해 exec를 호출한 프로세스가 명령행 인수들을 그 프로그램에 전달한다.유닉스 시스템의 셸에서 프로그램을 실행할 때 이런 일이 일어난다.다음은 위 코드를 컴파일해서 실행한 결과이다.argvargc가 널 포인터임은 ISO C와 POS
각 프로그램에는 환경목록이 전달된다. 명령행 인수 목록처럼 환경 목록은 문자열 포인터들의 배열이며, 각 포인터는 널문자로 끝나는 하나의 문자열을 가리킨다.이러한 포인터들의 배열의 주소가 전역 변수 environ에 들어 있다.역사적으로, 대부분의 유닉스 시스템들은 환경
앞에서 C 프로그램의 main 함수를 호출하기 전에 C 시동 루틴(start-up routine) 수행한다고 했다. 이 시동 루틴에서 C 프로그램의 메모리 배치 또한 수행한다.CPU가 실행하는 기계어 명령들로 이루어진 텍스트 구역(text segment)초기화되는 변수
malloc메모리에서 지정된 개수의 바이트들을 할당하는 함수.할당된 메모리의 초기값은 불확정.calloc지정된 개수의 바이트들을 할당하되 그 바이트들을 모두 0으로 초기화하는 함수.realloc이미 할당된 영역의 크기를 늘리거나 줄이는 함수.크기를 늘리는 경우 기존의
하나의 프로세스의 환경 안에서 여러 개의 제어 가닥(thread of control)들이 존재할 수 있다.이러한 제어 가닥 또는 한 줄기의 실행 흐름을 스레드(thread)라고 부른다.한 프로세스 안의 모든 스레드는 동일한 프로세스 구성요소(파일 서술자, 메모리 등)들