LLP64와 LP64는
C/C++ 컴파일러가
데이터 타입의 크기를 정의하는
데이터 모델(data model) 임.
LLP64
와 LP64
는 는 해당 모델이 어떤 타입들을 64비트로 처리하는지를 나타내는 이름을 가짐.
long
과pointer
가 다른 크기면, 포인터를long
에 저장할 때 잘림(truncation) 문제가 발생할 수 있음- 플랫폼 간 이식성(portability) 확보를 위해서는 정확한 타입 사용이 필수
LLP64, LP64 명칭의 의미
이름 | 약어 의미 | 설명 | 환경 |
---|---|---|---|
LP64 | Long and Pointer = 64-bit | long 과 pointer 가 64비트 (8바이트)로 확장됨 |
gcc, clang |
LLP64 | Long Long and Pointer = 64-bit | long long 과 pointer 는 64비트, long 은 여전히 32비트 |
msvc |

이름을 통한 해석 (initialism)
LP64
- L = Long
- P = Pointer
- 두 타입을 64비트로 사용하겠다는 의미
- 대부분의 Unix/Linux, macOS, GCC, Clang 환경이 이 모델 사용
LLP64
- LL = Long Long
- P = Pointer
long
은 32비트 유지, 대신long long
과pointer
를 64비트로 확장- Windows의 MSVC (Microsoft Visual C++)에서 사용
주요 타입 크기 비교
Data Type | LLP64 (Windows/MSVC) | LP64 (Linux,macOS/gcc,clang) | 주요차이 |
short | 2 bytes | 2 bytes | 동일 |
int | 4 bytes | 4 bytes | 동일 |
long | 4 bytes | 8 bytes | 차이 있음 |
long long | 8 bytes | 8 bytes | 동일 |
void* | 8 bytes | 8 bytes | 동일 |
float | 4 bytes | 4 bytes | 동일 |
double | 8 bytes | 8 bytes | 동일 |
long double | 8 bytes | 16 bytes (x86-64) | Windows는 double과 같고, Linux는 확장 (단 ARM계열은 8bytes일 수 있음) |
word | 8 bytes (64-bit CPU) | 8 bytes (64-bit CPU) | 아키텍처에 따라 다름 |
- "word"는 일반적으로 CPU 아키텍처의 기본 연산 단위를 의미하며, 데이터 모델(LP64, LLP64)과는 직접적으로 연결되지 않음.
- C/C++ 에서 "word"라는 공식적인 타입이 없으며, CPU 및 OS마다 의미가 다를 수 있음.
추천:
- 이식성 있는 코드를 원한다면
int32_t
,int64_t
등 명확한 고정폭 타입 사용
같이 보면 좋은 자료들
https://dsaint31.tistory.com/456
[Programming] Primitive Data Type : C, C++, NumPy, Torch
Primitive Data Type이(Unboxed type)란?C, C++, NumPy, PyTorch, TensorFlow 등에서 사용되는numeric data type들은보통 unboxed type 이라고도 불리는 primitive data type들이다.unboxed type에서는할당된 메모리 bit들이 해당 numeri
dsaint31.tistory.com
https://dsaint31.tistory.com/515
[Python] (Data) Type: Summary
1. Type 이란?Programming에서 사용되는 모든 value 혹은 object 들의 종류 를 (data) type이라고 부름.수학에서 숫자의 종류(type)를 실수, 정수, 자연수 등으로 나누는 것을 생각하면 쉽다.Programming에서는 문
dsaint31.tistory.com
'CE' 카테고리의 다른 글
[Py] bytecode 분석 - dis 모듈 (0) | 2025.03.11 |
---|---|
Text File and Binary File: Hex Code (0) | 2025.03.11 |
Apple II (1977년, Apple ][ ) (0) | 2025.03.11 |
Switch로 컴퓨터(or 디지털논리회로) 만들기 - Claude Shannon (1937) (0) | 2025.03.11 |
Claude Shannon (0) | 2025.03.11 |