변수명 = new 인스턴스 이렇게 생성하잖아 변수명에 실제 인스턴스 메모리 시작 주소가 담겨있는거같은데 그럼 변수명엔 어떻게 접근함? 컴파일러 질문인거같은데 일일히 하나씩 찾나?
댓글 16
뭔소린지 모르겠음 무슨언어?
익명(77.7)2021-11-09 05:47
답글
int a = 40;
a = 30; 이럴때 컴파일러에서 a를 어떻게 찾냐 말이지
ㅇㅅㅇa(218.234)2021-11-09 05:51
답글
C기준으로는 심볼테이블이 있음
자스같은 언어는 스코프 객체가 있어서 딕셔너리같이 접근 가능
익명(77.7)2021-11-09 05:54
답글
해싱으로 처리하는구나 그럼 그 테이블은 메모리 어디 저장됨? 스택 힙?
ㅇㅅㅇa(218.234)2021-11-09 05:56
답글
데이터영역이지 않을까??
익명(150.207)2021-11-09 06:02
답글
기계어로 변환되는 언어들은 실행시간에는 심볼정보가 하나도 안남고 그냥 메모리 주소나 레지스터로 변환됨
동적언어는 언어규칙에 따라 다르게 구현될 텐데 자스 지역변수의 경우는 각 스택별로 스코프에 대한 정보를 가지고 있는 객체가 있을거같음 그 객체 내부의 정보는 힙 위에 할당되고. 정확한건아님 내가 자스 언어규칙을 가물가물하게 기억하고 있어서
익명(77.7)2021-11-09 06:02
답글
자스 그거 맞아. 객체 이름은 나도 까먹음
무디 길고 어려웠다고만 기억남
익명(150.207)2021-11-09 06:03
답글
자스는 모르겠구만
근데 너 대단하다 어떻게 다 아냐 ㅇㅅㅇa
ㅇㅅㅇa(218.234)2021-11-09 06:10
답글
인생 통틀어서 대학생때 유일하게 열심히 공부함 ㅇㅅㅇ..
익명(77.7)2021-11-09 06:13
답글
그래도 기억안나는게 많지만,,,
익명(77.7)2021-11-09 06:13
답글
컴파일러 지식 맞지? 변수명 메모리 구조 검색하면 너무 뻔한 지식들만 나오네
ㅇㅅㅇa(218.234)2021-11-09 06:14
답글
암튼 고맙다 역시 넌 고수야 덕분에 지식이 늘었음
ㅇㅅㅇㅋㅋㅋ
ㅇㅅㅇa(218.234)2021-11-09 06:17
답글
웅 프로그래밍 언어론과 컴파일러 그 어딘가 사이
익명(77.7)2021-11-09 06:18
답글
와 근데 배열로 순회하는 경우만 생각했는데 해싱은 생각못했네
해싱도 충돌 범위내에서 변수명 글자숫자 제한하거나
최대한 충돌 안나도록 해싱함수를 만들겠지
프로그래밍하면서 쓰는 변수들은 보통 뻔하니까
뭔소린지 모르겠음 무슨언어?
int a = 40; a = 30; 이럴때 컴파일러에서 a를 어떻게 찾냐 말이지
C기준으로는 심볼테이블이 있음 자스같은 언어는 스코프 객체가 있어서 딕셔너리같이 접근 가능
해싱으로 처리하는구나 그럼 그 테이블은 메모리 어디 저장됨? 스택 힙?
데이터영역이지 않을까??
기계어로 변환되는 언어들은 실행시간에는 심볼정보가 하나도 안남고 그냥 메모리 주소나 레지스터로 변환됨 동적언어는 언어규칙에 따라 다르게 구현될 텐데 자스 지역변수의 경우는 각 스택별로 스코프에 대한 정보를 가지고 있는 객체가 있을거같음 그 객체 내부의 정보는 힙 위에 할당되고. 정확한건아님 내가 자스 언어규칙을 가물가물하게 기억하고 있어서
자스 그거 맞아. 객체 이름은 나도 까먹음 무디 길고 어려웠다고만 기억남
자스는 모르겠구만 근데 너 대단하다 어떻게 다 아냐 ㅇㅅㅇa
인생 통틀어서 대학생때 유일하게 열심히 공부함 ㅇㅅㅇ..
그래도 기억안나는게 많지만,,,
컴파일러 지식 맞지? 변수명 메모리 구조 검색하면 너무 뻔한 지식들만 나오네
암튼 고맙다 역시 넌 고수야 덕분에 지식이 늘었음 ㅇㅅㅇㅋㅋㅋ
웅 프로그래밍 언어론과 컴파일러 그 어딘가 사이
와 근데 배열로 순회하는 경우만 생각했는데 해싱은 생각못했네 해싱도 충돌 범위내에서 변수명 글자숫자 제한하거나 최대한 충돌 안나도록 해싱함수를 만들겠지 프로그래밍하면서 쓰는 변수들은 보통 뻔하니까
해당 댓글은 삭제되었습니다.
셀수없이