GnuSmalltalkUsersGuide:BaseChapter 021

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.
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