최근 포토로그


[Embedding Perl] dSP, ENTER/LEAVE, SAVETMPS/FREETMPS... by 荷花

Embedding Perl In C 에서 필요한 매크로들

dSP
Perl의 Argument Stack에 Access 할 수 있도록 하는 매크로

ENTER/LEAVE
Perl의 { } (curly bracket) Set 매크로
Perl의 lexical들이 해제되도록 한다.

SAVETMPS/FREETMPS
Temp Stack 처리

PUSHMARK(SP)
Argument Stack에 북마크하는 매크로
The argument stack is not always empty; if we’re already inside a Perl e-pression, the stack will not be empty. However, when a callback receives parameters or returns values, it needs to know how many items from the top of the stack belong to it.

SPAGAIN
Perl의 서브루틴(함수)을 호출하고 나면 이 서브루틴이 Stack에 값들을 다시 넣기 때문에 Stack의 Local Copy를 Refresh 해줘야 한다. 이 Stack을 Refresh 하는 매크로

PUTBACK
Perl 함수를 호출하기 전에 Stack 에 넣을 건 다 넣었다는 걸 나타내는 매크로
즉 파라미터가 있는 Perl 함수를 호출할 경우 이 파라미터를 Stack에 넣고 이 매크로를 호출한 다음 Perl 함수를 호출하면 된다.

출처 : Tim Jenness & Simon Cozens "Extending and Embedding Perl"

트랙백

이 글과 관련된 글 쓰기 (트랙백 보내기)
TrackbackURL : http://pirateplay.egloos.com/tb/3203486 [도움말]

덧글

  • PenSaku 2011/07/21 00:03 # 삭제 답글

    오 펄 쓰시는군요.... 현대형 스크립트 언어 나오기 전엔 펄이 채고였다던데 ㅎㅎ
  • 荷花 2011/07/21 01:11 #

    ㅎㅎ 자의적으로 쓰고 있는 건 아니지만,
    흠흠 잼나더군요.
    그게 회사에서 VMS 솔루션을 만드는데 VMware vSphere ESX에서
    정보, 성능 정보를 가져올 수 있는게그것도 비밀번호 없이(이렇게 할려면 SDK수정)
    Perl이라서ㅎㅎ
    삽질이 허무하긴 하지만 삽질로 얻는 건 많아서
    또 여러가지를 배우는 중이죠ㅋㄷㅋㄷ
댓글 입력 영역