흐린바다형아 저 책 난 정말 C Programming을 공부한적이 없다구요!에여?
아니 뭐 저딴 쓰레기 책을 보고 있냐
그냥 갖다 버려 씨발
독립된 메모리 공간을 가진다는 것이 보장되는 상수는 문자열 상수밖에 없음
나머지는 어떻게 처리될지 알 수 없고 실제로는 보통 기계어 코드의 일부로 들어감 (이걸 immediate라고 한다)
literal 이나 code 부에 할당되긴 하죠. 변수영역 할당이라고 해석하면 망함
아 그리고 부동소수점 값도 독립된 메모리 공간을 가지도록 구현될 수 있음
code 부에 할당되는걸 immediate 라고 하는거고
리터럴 상수들이 스택에 따로 할당되지 않고 기계어 코드에 그냥 들어가는 상황이 immediate라고요?
답은 [TCPL]이다
code부 이게 그 PE format같은데서 나오는 .data .code 이런거임?
mozzart// immediate가 메모리 공간 할당되는 거라고 보는 사람이 어딨겠냐. 그럼 n <<= 2;의 2 같은 건 어쩌게?
const int a = 5; 처럼 선언하는 경우, 실제로 데이타 영역에 할당되는 컴파일러도 있으니 완전 틀린 말은 아닌데 예외를 법칙처럼 써버리면 망함.
많은 아키텍처에서 shift 연산의 피연산자는 한 바이트를 주지도 않는데
mozzart// const로 만든 상수 얘기가 아니래잖아 책의 저자가
그리고 code 부도 writable 하게 만들 수 있어요. 그건 만드는 사람 맘. DLL 도 대표적인 예죠.
아니 씨발 쓰기권한의 문제가 아니라
x86 같은 경우에 80286 전에는 보호 모드가 없었지 그렇다고 코드가 데이터가 되는 것도 아니고
그러니까 이건 예외적인 케이스를 이야기하는건데, 당연 책에 저따위로 써 놓으면 혼돈의 시작.
그래서 제가 혼돈겪고있는것에 면죄부좀 씌워도 되는부분?
그딴 식으로 말하면 opcode 1바이트에 modregrm으로 인코딩되는 x86 명령어는 씨발 연산자도 독립된 메모리 공간을 가지는거냐?
우와 너무 대단해~
그러니까, 위의 int num = 3 + 5; 의 상수는 해당사항 없지만 표로 꾸민 부분에선 저 예가 전부가 아닐 수 있다는거죠.
애초에 이게 논의의 가치조차도 없는 게
다른말로 내가 혼돈을겪고있는것이 오히려 제대로이해하면서 보고있다고봐도되는부분? 근데 뭐 그래도 아직 완벽하게 이해못하고있는건 맞는거같음. 줏대없이 흔들리는것도그렇고.. 저기 내가 블로그링크한사람글도 그럼 잘못된거임?
적어도 엔트로피는 가지잖슴.
n += 1;을 ++n;으로 최적화해서 (x86의 예를 들면) INC rAX로 코드 생성해도 표준 준수에는 아무 문제가 없는데
저 개씨발좆븅신같은 책을 쓴 저자새끼가 한 개소리에 따르면 n += 1;을 ++n;으로 최적화하면 1의 메모리 공간이 없어서 쓰레기 컴파일러가 된다 이기야
ㅇㅇ 실제로 컴파일해보면 ADD rAX, 1 로 번역되기 일수죠
그냥 뒈졌으면 좋겠다 대가리에 든거 하나도 없는새끼가 무슨 책을 쓴다고 나대 나대기는
내가 초등학교 4학년때만 되도 저새끼보다는 원리이해 잘했겠다
컴파일러가 아무런 최적화 없이 컴파일한다면 메모리 차지하는거 맞는데 코드영역
요즘은 용량+성능 쓰던 고전적인 INC 잘 안쓰는듯
어셈블리개똥인고시야...
아니 씨발 코드영역에 들어있는건 메모리 차지하는걸로 안쳐준다고 븅신새끼야
그니까 스님 말씀은~ 코드영역 할당이 무슨 할당이냣~! 이란거고 그건 관점상 동의~
그딴식으로 따지면 연산자도 메모리 차지한다고 해야된다고 씹새끼야 귓구멍이 쳐막혔나
아 유동 ㅇㅇ한테 한말임 ㅇㅇ
밍고스님말은 책도잘못된거고 블로그 링크한것도 잘못된거고 해주신설명이맞다, &arr;이작동하는이유도 모짜르트님의 설명과는다르다 맞죠? / 모짜르트님은 책에있는것도 케바케인거고, &arr;이작동하는건 arr은 포인터상수이고 상수의 주소값연산이 씹혀서 arr로 되니 결과는 맞게나오는거다라는거고
하지만 할당되는 경우도 있다는거. 심지어 코드부를 바꿀 수 있는 경우도 있다는거 <- 이게 범용환경은 아님
글고 유동 ㅇㅇ 는 제 예외적 관점에 동의해준거라 뭐 틀린말은 아님유.
mozzart// C에 대해 얘기할 때 "메모리 공간이 할당된다" 이건 사실 practice 전부 좆까고 "주소연산을 취할 수 있는가" "대입연산의 좌변에 들어갈 수 있는가" 이걸로 판단해야됨.
말을 책이 좀 애매하게쓴거같긴한데 코드영역할당이아니라 보통 메모리공간 할당여부라고하면 변수처럼 뭐어디 주소값주고 할당하냐~ 라는 얘기로 생각을해서 함튼 간에 저게그럼 저기서 할당이이루어진다라는소리가 코드영역할당이라는소리였다는거임?
요약하면, 초보가 이 메카니즘들을 이해하기 좋은 큰붓 그리기로서, 저 책은 쓰레기인거고
아니 그냥 메모리를 따로 차지하지 않는다고 이해하셈
"연산자와 똑같은 방식으로" 메모리를 차지함
미시적으로 보면 할당되는 경우들도 있긴하다는 소리. 큰 붓 관점에선 스님 말씀 동의~
앞서 말했듯이 부동소수점 리터럴 (많은 플랫폼)이나 문자열 리터럴 (사실상 모든 플랫폼)은 예외
운영체제 로더는 그럼 메모리 차지하면 안되는걸 메모리에 올려주는 병신 삽질 프로그램인 모양이네 ㅋ
ㅇㅇ 리터럴들도 보통 수치 리터럴이 앞, 문자열 리터럴이 뒤로 오죠. 다 약속된 장소들이 있다능. 단편화를 줄이기 위해서.
스님 말씀은 그런게 아닌뎅.
이해를 힘들게 만든다는 이야기지 ㅇㅇ님이나 저나 스님이나 이 문제를 다 알고 이야기하는 사람들
아냐 ㅇㅇ 저 븅신새끼는 대가리가 없어
메모리에 실체(entity)로서 존재하는 것과 그렇지 않은 것은 당연히 다른데
그거 하나 이해를 못하는 상븅신새끼임
괜히 싸우는건 대가리가 없어보이는 짓이지유 ㅋㅋ 서로 힘뺄 필요 있나요 아는 사람들끼리. 힘은 좋은데 씁시다!
난 flame war를 좋아해
스님 박력 머시써~
영감님들 존나 어려운얘기하시네 쉬불
저 책 누가 쓴거냐? 정말 갖다 버려라. 저자가 운영체제와 컴파일러에 대해 하나도 모르네. 책 저자보다 밍고스님 이야기가 백번 맞다.
흐린바다형아 저 책 난 정말 C Programming을 공부한적이 없다구요!에여?
아니 뭐 저딴 쓰레기 책을 보고 있냐
그냥 갖다 버려 씨발
독립된 메모리 공간을 가진다는 것이 보장되는 상수는 문자열 상수밖에 없음
나머지는 어떻게 처리될지 알 수 없고 실제로는 보통 기계어 코드의 일부로 들어감 (이걸 immediate라고 한다)
literal 이나 code 부에 할당되긴 하죠. 변수영역 할당이라고 해석하면 망함
아 그리고 부동소수점 값도 독립된 메모리 공간을 가지도록 구현될 수 있음
code 부에 할당되는걸 immediate 라고 하는거고
리터럴 상수들이 스택에 따로 할당되지 않고 기계어 코드에 그냥 들어가는 상황이 immediate라고요?
답은 [TCPL]이다
code부 이게 그 PE format같은데서 나오는 .data .code 이런거임?
mozzart// immediate가 메모리 공간 할당되는 거라고 보는 사람이 어딨겠냐. 그럼 n <<= 2;의 2 같은 건 어쩌게?
const int a = 5; 처럼 선언하는 경우, 실제로 데이타 영역에 할당되는 컴파일러도 있으니 완전 틀린 말은 아닌데 예외를 법칙처럼 써버리면 망함.
많은 아키텍처에서 shift 연산의 피연산자는 한 바이트를 주지도 않는데
mozzart// const로 만든 상수 얘기가 아니래잖아 책의 저자가
그리고 code 부도 writable 하게 만들 수 있어요. 그건 만드는 사람 맘. DLL 도 대표적인 예죠.
아니 씨발 쓰기권한의 문제가 아니라
x86 같은 경우에 80286 전에는 보호 모드가 없었지 그렇다고 코드가 데이터가 되는 것도 아니고
그러니까 이건 예외적인 케이스를 이야기하는건데, 당연 책에 저따위로 써 놓으면 혼돈의 시작.
그래서 제가 혼돈겪고있는것에 면죄부좀 씌워도 되는부분?
그딴 식으로 말하면 opcode 1바이트에 modregrm으로 인코딩되는 x86 명령어는 씨발 연산자도 독립된 메모리 공간을 가지는거냐?
우와 너무 대단해~
그러니까, 위의 int num = 3 + 5; 의 상수는 해당사항 없지만 표로 꾸민 부분에선 저 예가 전부가 아닐 수 있다는거죠.
애초에 이게 논의의 가치조차도 없는 게
다른말로 내가 혼돈을겪고있는것이 오히려 제대로이해하면서 보고있다고봐도되는부분? 근데 뭐 그래도 아직 완벽하게 이해못하고있는건 맞는거같음. 줏대없이 흔들리는것도그렇고.. 저기 내가 블로그링크한사람글도 그럼 잘못된거임?
적어도 엔트로피는 가지잖슴.
n += 1;을 ++n;으로 최적화해서 (x86의 예를 들면) INC rAX로 코드 생성해도 표준 준수에는 아무 문제가 없는데
저 개씨발좆븅신같은 책을 쓴 저자새끼가 한 개소리에 따르면 n += 1;을 ++n;으로 최적화하면 1의 메모리 공간이 없어서 쓰레기 컴파일러가 된다 이기야
ㅇㅇ 실제로 컴파일해보면 ADD rAX, 1 로 번역되기 일수죠
그냥 뒈졌으면 좋겠다 대가리에 든거 하나도 없는새끼가 무슨 책을 쓴다고 나대 나대기는
내가 초등학교 4학년때만 되도 저새끼보다는 원리이해 잘했겠다
컴파일러가 아무런 최적화 없이 컴파일한다면 메모리 차지하는거 맞는데 코드영역
요즘은 용량+성능 쓰던 고전적인 INC 잘 안쓰는듯
어셈블리개똥인고시야...
아니 씨발 코드영역에 들어있는건 메모리 차지하는걸로 안쳐준다고 븅신새끼야
그니까 스님 말씀은~ 코드영역 할당이 무슨 할당이냣~! 이란거고 그건 관점상 동의~
그딴식으로 따지면 연산자도 메모리 차지한다고 해야된다고 씹새끼야 귓구멍이 쳐막혔나
아 유동 ㅇㅇ한테 한말임 ㅇㅇ
밍고스님말은 책도잘못된거고 블로그 링크한것도 잘못된거고 해주신설명이맞다, &arr;이작동하는이유도 모짜르트님의 설명과는다르다 맞죠? / 모짜르트님은 책에있는것도 케바케인거고, &arr;이작동하는건 arr은 포인터상수이고 상수의 주소값연산이 씹혀서 arr로 되니 결과는 맞게나오는거다라는거고
하지만 할당되는 경우도 있다는거. 심지어 코드부를 바꿀 수 있는 경우도 있다는거 <- 이게 범용환경은 아님
글고 유동 ㅇㅇ 는 제 예외적 관점에 동의해준거라 뭐 틀린말은 아님유.
mozzart// C에 대해 얘기할 때 "메모리 공간이 할당된다" 이건 사실 practice 전부 좆까고 "주소연산을 취할 수 있는가" "대입연산의 좌변에 들어갈 수 있는가" 이걸로 판단해야됨.
말을 책이 좀 애매하게쓴거같긴한데 코드영역할당이아니라 보통 메모리공간 할당여부라고하면 변수처럼 뭐어디 주소값주고 할당하냐~ 라는 얘기로 생각을해서 함튼 간에 저게그럼 저기서 할당이이루어진다라는소리가 코드영역할당이라는소리였다는거임?
요약하면, 초보가 이 메카니즘들을 이해하기 좋은 큰붓 그리기로서, 저 책은 쓰레기인거고
아니 그냥 메모리를 따로 차지하지 않는다고 이해하셈
"연산자와 똑같은 방식으로" 메모리를 차지함
미시적으로 보면 할당되는 경우들도 있긴하다는 소리. 큰 붓 관점에선 스님 말씀 동의~
앞서 말했듯이 부동소수점 리터럴 (많은 플랫폼)이나 문자열 리터럴 (사실상 모든 플랫폼)은 예외
운영체제 로더는 그럼 메모리 차지하면 안되는걸 메모리에 올려주는 병신 삽질 프로그램인 모양이네 ㅋ
ㅇㅇ 리터럴들도 보통 수치 리터럴이 앞, 문자열 리터럴이 뒤로 오죠. 다 약속된 장소들이 있다능. 단편화를 줄이기 위해서.
스님 말씀은 그런게 아닌뎅.
이해를 힘들게 만든다는 이야기지 ㅇㅇ님이나 저나 스님이나 이 문제를 다 알고 이야기하는 사람들
아냐 ㅇㅇ 저 븅신새끼는 대가리가 없어
메모리에 실체(entity)로서 존재하는 것과 그렇지 않은 것은 당연히 다른데
그거 하나 이해를 못하는 상븅신새끼임
괜히 싸우는건 대가리가 없어보이는 짓이지유 ㅋㅋ 서로 힘뺄 필요 있나요 아는 사람들끼리. 힘은 좋은데 씁시다!
난 flame war를 좋아해
스님 박력 머시써~
영감님들 존나 어려운얘기하시네 쉬불
저 책 누가 쓴거냐? 정말 갖다 버려라. 저자가 운영체제와 컴파일러에 대해 하나도 모르네. 책 저자보다 밍고스님 이야기가 백번 맞다.