유닉스에서 "정적 변수"라는 용어는 무엇을 의미합니까?

유닉스에서 "정적 변수"라는 용어는 무엇을 의미합니까?

이 책의 섹션 2.7에서 발췌 -리눅스 프로그래밍 인터페이스명명 된프로세스 메모리 레이아웃 :

데이터다음과 같이 정의됩니다.

static variables used by the program.

여기서 정적이라는 단어는 무엇을 의미합니까? Java에서 정적 변수가 무엇인지 알고 있지만 이 경우에는 그 의미를 연관시킬 수 없습니다.

답변1

정적 변수는 프로그램의 수명주기 전체에 걸쳐 존재하는 변수입니다. 즉, 런타임에 할당되는 대부분의 변수와 달리 컴파일 타임에 할당된 메모리에 배치됩니다.

답변2

이는 Java에서 완전히 유사하지는 않지만 정의에 설정된 클래스의 정적 최종 속성과 다소 유사합니다.

C "const" 상수는 프로그램 레이아웃에서 "data"로 변환됩니다.

하지만 상수나 최종변수의 경우와 달리 데이터의 경우 반드시 기계어 코드에 쓰기 제한이 있는 것은 아니다.

관련 정보