64비트 메모리
-
메모리 정렬, 패딩 그리고 비트필드(feat. 구조체)개발/C·C++ 2024. 7. 7. 10:37
컴퓨터는 극한의 효율을 추구해야 한다. 경쟁에서 우위를 점해야 하기도 하고 엔지니어 관점에도 같은 전기를 쓰면서 최대 성능과 최대 효율을 뽑는 것이 중요한 문제일 수밖에 없다. 메모리 정렬에 몇 가지 규칙이 존재한다.1. 데이터가 저장되는 메모리 경계가 존재한다2. 1 바이트 데이터는 1 바이트 경계, 4 바이트 데이터는 4 바이트 경계3. 여기서 말하는 경계는 4바이트 데이터가 저장되는 시작 주소가 4의 배수인 것을 말한다4. 예를 들어 배열이 아닌 int형 데이터는 0x00000040(편의상 32비트 주소 체계 기준)에 저장된다 메모리 정렬을 이야기할 때 데이터를 모아놓은 구조체가 자주 등장한다.다음의 두 구조체는 자료형의 총합은 같지만 실제 메모리 공간에서 차지하는 크기가 다르다.// 정렬되지 않은..