GnuSmalltalkUsersGuide:BaseChapter 024
- 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가 검사해야 하는 리턴 값을 가진 선택자 리스트를 응답하라.