GnuSmalltalkUsersGuide:BaseChapter 106

From 흡혈양파의 번역工房
Jump to navigation Jump to search
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) 바이트를 이용해 보관하라.


Notes