<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://trans.onionmixer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=GnuSmalltalkUsersGuide%3ABaseChapter_051</id>
	<title>GnuSmalltalkUsersGuide:BaseChapter 051 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://trans.onionmixer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=GnuSmalltalkUsersGuide%3ABaseChapter_051"/>
	<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=GnuSmalltalkUsersGuide:BaseChapter_051&amp;action=history"/>
	<updated>2026-05-02T14:43:11Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://trans.onionmixer.net/wiki/index.php?title=GnuSmalltalkUsersGuide:BaseChapter_051&amp;diff=4038&amp;oldid=prev</id>
		<title>Onionmixer: GSUG CType 페이지 추가</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=GnuSmalltalkUsersGuide:BaseChapter_051&amp;diff=4038&amp;oldid=prev"/>
		<updated>2014-01-27T04:47:13Z</updated>

		<summary type="html">&lt;p&gt;GSUG CType 페이지 추가&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;;CType&lt;br /&gt;
&lt;br /&gt;
==CType==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;네임스페이스 Smalltalk에 정의됨&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;슈퍼클래스: Object&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;범주: 언어-C 인터페이스&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:나는 표준 스몰토크 커널 클래스 계층구조에 속하지 않는다. 나는 외부 C 데이터 항목을 표현하는 CObject의 서브클래스가 사용하는 타입 정보를 포함한다.&amp;lt;BR&amp;gt;나의 유일한 인스턴스 변수, cObjectType은 주어진 CType에 대해 생성되는 CObject 서브클래스를 보관하기 위해 사용된다. 내부적으로는 값을 얻기 위해 메서드를 실행할 수 없기 때문에 원하는 서브클래스를 보유하는 인스턴스 변수로 간단히 접근하는 방법이 있으므로 해석기의 C part에서 주로 사용된다.&amp;lt;BR&amp;gt;나의 서브클래스들은 실제 데이터 타입을 표현하는 인스턴스를 갖는다; 스칼라 타입의 경우 각각에 하나의 인스턴스만 생성되지만 aggregate 타입의 경우 요소의 개수나 base 타입별로 최소 하나의 인스턴스가 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CType 클래스: C 인스턴스 생성===&lt;br /&gt;
&lt;br /&gt;
====cObjectBinding: aCObjectSubclassBinding====&lt;br /&gt;
&lt;br /&gt;
CObject의 주어진 서브클래스에 대해 새 CType를 생성하라.&lt;br /&gt;
&lt;br /&gt;
====cObjectType: aCObjectSubclass====&lt;br /&gt;
&lt;br /&gt;
CObject의 주어진 서브클래스에 대해 새 CType를 생성하라.&lt;br /&gt;
&lt;br /&gt;
====computeAggregateType: type====&lt;br /&gt;
&lt;br /&gt;
Private - 포인터/배열에 대한 from: 에 의해 호출된다. 타입 형식: (#array #int 3) 또는 (#ptr #{FooStruct})&lt;br /&gt;
&lt;br /&gt;
====from: type====&lt;br /&gt;
&lt;br /&gt;
Private - &amp;#039;type&amp;#039;에 (각 쌍에서 두 번째 요소) 주어진 필드 설명을 감안해 aBlock에 대한 CType의 크기, 정렬, 설명을 전달하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CType 클래스: 초기화===&lt;br /&gt;
&lt;br /&gt;
====initialize====&lt;br /&gt;
&lt;br /&gt;
수신자의 TypeMap를 초기화하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CType: 접근하기===&lt;br /&gt;
&lt;br /&gt;
====alignof====&lt;br /&gt;
&lt;br /&gt;
수신자의 인스턴스 크기를 응답하라. &lt;br /&gt;
&lt;br /&gt;
====arrayType: size====&lt;br /&gt;
&lt;br /&gt;
수신자에 의해 타입이 표현되는 CObjects의 주어진 크기로 배열을 표현하는 CArrayCType을 응답하라.&lt;br /&gt;
&lt;br /&gt;
====cObjectType====&lt;br /&gt;
&lt;br /&gt;
수신자에게 new가 전송될 때 인스턴스가 생성되는 CObject 서브클래스를 응답하라.&lt;br /&gt;
&lt;br /&gt;
====ptrType====&lt;br /&gt;
&lt;br /&gt;
수신자에 의해 타입이 표현되는 CObjects를 가리키는 포인터를 나타낸 CPtrCType을 응답하라.&lt;br /&gt;
&lt;br /&gt;
====sizeof====&lt;br /&gt;
&lt;br /&gt;
수신자의 인스턴스 크기를 응답하라.&lt;br /&gt;
&lt;br /&gt;
====valueType====&lt;br /&gt;
&lt;br /&gt;
valueType은 기본이 되는 데이터 타입을 해석기에게 전달하기 위한 수단으로 사용된다. 스칼라를 제외한 경우엔 단순히 &amp;#039;self&amp;#039;이다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CType: C 인스턴스 생성===&lt;br /&gt;
&lt;br /&gt;
====address: cObjOrInt====&lt;br /&gt;
&lt;br /&gt;
수신자에 의해 식별된 타입(클래스)으로 새 CObject를 생성하고 주어진 어드레스(Integer 또는 CObject가 식별한)를 가리킨다.&lt;br /&gt;
&lt;br /&gt;
====gcNew====&lt;br /&gt;
&lt;br /&gt;
수신자에 의해 식별된 타입(클래스)으로 새 CObject를 할당하라. 객체는 메모리 내에서 이동 가능한 반면 자동으로 쓰레기 수집된다.&lt;br /&gt;
&lt;br /&gt;
====new====&lt;br /&gt;
&lt;br /&gt;
수신자에 의해 식별된 타입(클래스)로 새 CObject를 할당하라. 그에 할당된 메모리의 해제는 호출자가 책임 질 일이다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CType: 보관하기===&lt;br /&gt;
&lt;br /&gt;
====storeOn: aStream====&lt;br /&gt;
&lt;br /&gt;
수신자로 컴파일하는 스몰토크 코드를 보관하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:GnuSmalltalkUsersGuide]]&lt;/div&gt;</summary>
		<author><name>Onionmixer</name></author>
	</entry>
</feed>