GnuSmalltalkUsersGuide:BaseChapter 106

From 흡혈양파의 번역工房
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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