2011년 3월 24일 목요일

Embeding Perl in C program (Win32, Visual C++)

link: http://www.codeguru.com/Cpp/misc/misc/interfacingtootherlanguages/article.php/c3811

필요한 파일(3)
1. interp.c
2. perlxsi.c
3. perl.lib    (perl5.12의 경우, perl512.lib)

1. project에 interp.c라는 파일 생성 후 다음을 입력해주고 저장
----------------------------------------------------------------------------
#include <EXTERN.h>
#include <perl.h>

static PerlInterpreter *my_perl;
int main(int argc, char **argv, char **env)
{
 PERL_SYS_INIT3(&argc, &argv, &env);
 my_perl = perl_alloc();
 perl_construct(my_perl);
 perl_parse(my_perl, NULL, argc, argv, NULL);
 PL_exit_flags |= PERL_EXIT_DESTRUCT_END;

 //Running Perl Actually
 perl_run(my_perl);

 perl_destruct(my_perl);
 perl_free(my_perl);
 PERL_SYS_TERM();
}
----------------------------------------------------------------------------


2. perlxsi.c 파일은,
    윈도우 cmd창에서 다음을 입력해주고
    현재 폴더에 생성되면 프로젝트 폴더에 추가

perl -MExtUtils::Embed -e xsinit
(을 입력하면 현재 위치에 perlxsi.c 파일을 생성해준다.)


 3. perl(win32)을 설치하면 보통 다음 디렉토리에 perl.lib이 위치함
    라이브러리 디렉토리를 추가해주고 추가종속성에도 입력한다.
    (속성변경 하는 김에 헤더파일의 디렉토리도 추가해준다.)

C:\Perl\lib\CORE\

댓글 없음:

댓글 쓰기