GnuSmalltalkUsersGuide:BaseChapter 024

From 흡혈양파의 번역工房
Jump to navigation Jump to search
CCompound

CCompound

네임스페이스 Smalltalk에 정의됨

슈퍼클래스: CObject

범주: 언어-C 인터페이스


CCompound 클래스: 인스턴스 생성

gcNew

수신자의 새 인스턴스를 할당하고 쓰레기 수집된 저장공간이 확보되도록 한다.

new

수신자의 새 인스턴스를 할당하라. GC 이후에 메모리를 해제하려면 #addToBeFinalized 를 호출할 것을 기억하라.


CCompound 클래스: 서브클래스 생성

alignof

빈 구조체(struct)의 정렬인 1을 응답하라.

classPragmas

이 클래스의 file-out으로 작성된 pragmas를 리턴하라.

compileSize: size align: alignment

Private - sizeof 와 alignof 메서드를 컴파일하라.

declaration

수신자 클래스 내 필드의 설명을 리턴하라.

declaration: array

해당 메서드의 기능은 CCompound의 서브클래스에 의해 구현되어야 한다.

declaration: array inject: startOffset into: aBlock

배열에서 선언을 구현하는 메서드를 컴파일하라. 각 필드 이후에 오프셋을 계산하기 위해서는 오래된 오프셋의 값에 새 필드의 크기를 더한 값, 그리고 새 필드의 정렬 요구사항이 함께 aBlock로 전달된다.

emitInspectTo: str for: name

Private - 주어진 선택자를 CCompound의 인스펙터로 추가하기 위한 코드를 주어진 스트림으로 송신하라.

newStruct: structName declaration: array

CStruct를 생성하는 오래된 방법이다. #subclass:declaration:...로 대체되었다.

sizeof

빈 구조체의 크기, 0을 응답하라.

subclass: structName declaration: array classVariableNames: cvn poolDictionaries: pd category: category

주어진 이름으로 새 클래스를 생성하되 주어진 C 구조체를 구현하는 코드를 포함하도록 하라. 'array'를 제외한 모든 매개변수는 표준 클래스 생성 메시지와 동일하다; 더 상세한 정보는 문서를 참고하라.


CCompound: 인스턴스 생성

inspect

수신자의 내용을 검사하라.

inspectSelectorList

#inspect가 검사해야 하는 리턴 값을 가진 선택자 리스트를 응답하라.


Notes