GnuSmalltalkUsersGuide:BaseChapter 021

From 흡혈양파의 번역工房
Jump to: navigation, search
CCallable

CCallable

네임스페이스 Smalltalk에 정의됨

슈퍼클래스: CObject

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


나는 스몰토크 정의에 속하지 않는다. 나의 인스턴스들은 매개변수 타입이나 수와 같이 스몰토크 내부에서 호출할 수 있는 C 함수와 같은 정보를 포함한다. 이러한 정보는 C callout 메커니즘이 C 루틴으로 실제 call-out을 실행하기 위해 사용한다.


CCallable 클래스: 인스턴스 생성

for: aCObject returning: returnTypeSymbol withArgs: argsArray

주어진 어드레스, 리턴 타입, 인자로 CFunctionDescriptor 에 응답하라. 어드레스는 이미지 저장 시 NULL로 리셋될 것이다 (그리고 재초기화하는 방법을 모색하는 일은 사용자가 할 일이다!).


CCallable: 접근하기

isValid

객체가 유효한 함수를 표현하는지 여부를 응답하라.

returnType

해당 설명 없음.


CCallable: 호출하기

asyncCall

수신자에 의해 표현된 함수에 대해 call-out을 실행하라. 인자는 (인자 중 하나가 #self 또는 #selfSmalltalk 타입을 가질 경우 수신자도 함께) 부모 컨텍스트로부터 가져온다. 비동기식 call-out은 값을 리턴하지 않지만 함수가 스몰토크로 다시 호출하는 경우 call-out을 시작한 프로세스는 중지되지 않는다.

asyncCallNoRetryFrom: aContext

수신자에 의해 표현된 함수에 대해 call-out을 실행하라. 인자는 (인자 중 하나가 #self 또는 #selfSmalltalk 타입을 가질 경우 수신자도 함께) aContext 스택의 베이스에서 가져온다. 비동기식 call-out은 값을 리턴하지 않지만 함수가 스몰토크로 다시 호출되는 경우 call-out을 시작한 프로세스는 중지되지 않는다. #asyncCallFrom:과 달리 해당 메서드는 공유 객체에서 함수를 찾으려 하지 않는다.

callInto: aValueHolder

수신자에 의해 표현된 함수에 대해 call-out을 실행하라. 인자는 (인자 중 하나가 #self 또는 #selfSmalltalk 타입을 가질 경우 수신자도 함께) 부모 컨텍스트로부터 가져오며, 결과는 ValueHolder로 보관된다. aValueHolder 또한 리턴된다.

callNoRetryFrom: aContext into: aValueHolder

수신자에 의해 표현된 함수에 대해 call-out을 실행하라. 인자는 (인자 중 하나가 #self 또는 #selfSmalltalk 타입을 가질 경우 수신자도 함께) aContext 스택의 베이스에서 가져오고, 결과는 aValueHolder로 보관된다. #callFrom:into: 와 달리 해당 메서드는 공유 객체에서 함수를 찾으려 하지 않는다.


CCallable: 복구하기

link

이미지가 재시작된 후 객체를 재빌드하라.


Notes