GnuSmalltalkUsersGuide:BaseChapter 106
- Memory
Memory
네임스페이스 Smalltalk에 정의됨
슈퍼클래스: Object
범주: 언어-구현
- 나는 객체와 OOPs의 실제 머신 어드레스로 접근을 제공한다. 나에겐 인스턴스가 없다; 객체와 그 OOP 또는 객체의 어드레스 간 매핑을 위해 내 클래스로 메시지를 전송한다. 뿐만 아니라 나는 각기 다른 C 타입으로 직접 메모리 접근을 제공한다 (ints, chars, OOPs, floats,...).
Memory 클래스: 접근하기
at: anAddress
주어진 어드레스에서 스몰토크 객체(OOP)로 접근한다.
at: anAddress put: aValue
주어진 어드레스에서 'value'에 의해 식별된 스몰토크 객체로의 포인터(OOP)를 보관한다.
bigEndian
big-endian 시스템과 little-endian 시스템 중 어디에서 실행 중인지 응답하라.
charAt: anAddress
주어진 어드레스에서 C char로 접근하라. 값은 스몰토크 Character로서 리턴된다.
charAt: anAddress put: aValue
주어진 어드레스에서 'value'에 의해 식별된 Smalltalk Character 또는 Integer 객체를 sizeof(char) 바이트를 이용해 - 예: 1 바이트 - C char로서 보관하라.
deref: anAddress
주어진 어드레스가 가리키는 C int로 접근하라.
doubleAt: anAddress
주어진 어드레스에서 C double로 접근하라.
doubleAt: anAddress put: aValue
주어진 어드레스에서 'value'에 의해 식별된 Smalltalk Float 객체를 C double처럼 써서 보관하라.
floatAt: anAddress
주어진 어드레스에서 C float으로 접근하라.
floatAt: anAddress put: aValue
주어진 어드레스에서 'value'에 의해 식별된 Smalltalk Float 객체를 C float처럼 써서 보관하라.
intAt: anAddress
주어진 어드레스에서 C int로 접근하라.
intAt: anAddress put: aValue
주어진 어드레스에서 'value'에 의해 식별된 Smalltalk Integer 객체를 sizeof(int) 바이트를 이용해 보관하라.
longAt: anAddress
주어진 어드레스에서 C long int로 접근하라.
longAt: anAddress put: aValue
주어진 어드레스에서 'value'에 의해 식별된 Smalltalk Integer 객체를 sizeof(long) 바이트를 이용해 보관하라.
longDoubleAt: anAddress
주어진 어드레스에서 C long double로 접근하라.
longDoubleAt: anAddress put: aValue
주어진 어드레스에서 'value'에 의해 식별된 Smalltalk Float 객체를 C long double처럼 작성해 보관하라.
shortAt: anAddress
주어진 어드레스에서 C short int로 접근하라.
shortAt: anAddress put: aValue
주어진 어드레스에서 'value'에 의해 식별된 Smalltalk Integer 객체를 sizeof(short) 바이트를 이용해 보관하라.
stringAt: anAddress
주어진 어드레스에서 C 'char *'가 가리키는 문자열로 접근하라.
stringAt: anAddress put: aValue
메모리 내 주어진 어드레스에서 'value'에 의해 식별된 Smalltalk String 객체를 *FRESHLY ALLOCATED* C 문자열처럼 작성해 보관하라. 필요 시 해제시키는 것은 호출자의 의무다.
ucharAt: anAddress put: aValue
주어진 어드레스에서 'value'에 의해 식별된 Smalltalk Character 또는 Integer 객체를 sizeof(char) 바이트를 이용해 - 예: 1 바이트 - C char로서 보관하라.
uintAt: anAddress put: aValue
주어진 어드레스에서 'value'에 의해 식별된 Smalltalk Integer 객체를 sizeof(int) 바이트를 이용해 보관하라.
ulongAt: anAddress put: aValue
주어진 어드레스에서 'value'에 의해 식별된 Smalltalk Integer 객체를 sizeof(long) 바이트를 이용해 보관하라.
unsignedCharAt: anAddress
주어진 어드레스에서 C unsigned char로 접근하라. 값은 스몰토크 Character로서 리턴된다.
unsignedCharAt: anAddress put: aValue
주어진 어드레스에서 'value'에 의해 식별된 Smalltalk Character 또는 Integer 객체를 sizeof(char) 바이트를 이용해 - 예: 1 바이트 - C char로서 보관하라.
unsignedIntAt: anAddress
주어진 어드레스에서 C unsigned int로 접근하라.
unsignedIntAt: anAddress put: aValue
주어진 어드레스에서 'value'에 의해 식별된 Smalltalk Integer 객체를 sizeof(int) 바이트를 이용해 보관하라.
unsignedLongAt: anAddress
주어진 어드레스에서 C unsigned long으로 접근하라.
unsignedLongAt: anAddress put: aValue
주어진 어드레스에서 'value'에 의해 식별된 Smalltalk Integer 객체를 sizeof(long) 바이트를 이용해 보관하라.
unsignedShortAt: anAddress
주어진 어드레스에서 C unsigned short로 접근하라.
unsignedShortAt: anAddress put: aValue
주어진 어드레스에서 'value'에 의해 식별된 Smalltalk Integer 객체를 sizeof(short) 바이트를 이용해 보관하라.
ushortAt: anAddress put: aValue
주어진 어드레스에서 'value'에 의해 식별된 Smalltalk Integer 객체를 sizeof(short) 바이트를 이용해 보관하라.