펄로 이거저거 만들어 놓았는데.. 소스 컴파일을 해야 할 상황이어서 여러가지 컴파일러를 찾았습니다. 그래도 가장 괜찮은게 perl2exe여서 이것을 이용해 컴파일을 해서 실행해 보니 잘되는 것도 물론 있는데.. 제가 만들어 놓은 모듈 구조가 좀 복잡(이상)하니까 CGI는 잘 컴파일이 안되더라구여.
펄이 아닌 일반적인 컴파일러 처럼 깔끔하게 되는 컴파일 방법이 없을까요??
매우 궁금합니다..
perlcc 로 바이너리로 만들 수 있습니다. :-) 더 자세한 내용은 perl.or.kr 정도에서 찾을 수 있을 듯. :-)
작년에 해본적이 있는데 바이너리가 어마어마한 크기가 되더군요. 500줄짜리 펄코드가 약 10메가 정도로... :shock:
냠냠...컴파일된 펄 코드는 펄의 인터프리터가 포함되기 때문에 싸이즈가 늘어나게 됩니다. 냠냠...어쩔수 없는 문제지요. 그런데 싸이즈가 그렇게까지 커진다는건 좀.
으흠. 하지만 컴파일된 펄 코드는 인터프리터 방식으로 실행 될 때 보다 속도면에서는 향상 됩니다.
time 등으로 체크해 보세요. :-)
궁금한것은,.
단순한 스크립트는 문제없이 컴파일이 되는데. 만약 perlcc를 이용한다고 할때
a.cgi에서
require "main_lib.pl";
위와 같이 로드해서 사용하고 있다면 제가 원하는 것은 a.cgi를 컴파일을 하면 main_lib.pl은 더이상 필요치 않을 것 같은데. 저 파일을 계속 찾습니다.
또 main_lib.pl를 컴파일 하면 a.cgi가 실행이 안되고요.
제가 잘못 생각하고 있는 건가요??
perl2exe를 사용하면 모듈까지 잘 컴파일이 되기는 합니다. 하지만 여러가지 모듈을 같이 컴파일 하니까 이것도 웹에서 CGI로 실행하니까 제대로 실행이 안되더라구요.
PAR도 써봤는데.. 마찬가지구여.. 이건 아직 자세하게 해보지 않았지만요.
결론은 개인적으로 require를 사용해 만들어 놓은 모듈까지 컴파일이 되어야 하는데 그것이 안되고 있습니다. C 처럼 깔끔하게 되는 것이 없을까요??
옵션을 잘못 쓴 것인가요?? 정말 해결이 안되서요.. 미리 감사드립니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
perlcc 로 바이너리로 만들 수 있습니다. :-) 더 자세한 내용은
perlcc 로 바이너리로 만들 수 있습니다. :-) 더 자세한 내용은 perl.or.kr 정도에서 찾을 수 있을 듯. :-)
perlcc
작년에 해본적이 있는데 바이너리가 어마어마한 크기가 되더군요. 500줄짜리 펄코드가 약 10메가 정도로... :shock:
냠냠...컴파일된 펄 코드는 펄의 인터프리터가 포함되기 때문에 싸이즈가
냠냠...컴파일된 펄 코드는 펄의 인터프리터가 포함되기 때문에 싸이즈가 늘어나게 됩니다. 냠냠...어쩔수 없는 문제지요. 그런데 싸이즈가 그렇게까지 커진다는건 좀.
으흠. 하지만 컴파일된 펄 코드는 인터프리터 방식으로 실행 될 때 보다 속도면에서는 향상 됩니다.
time 등으로 체크해 보세요. :-)
답변 감사합니다. 그런데..
궁금한것은,.
단순한 스크립트는 문제없이 컴파일이 되는데.
만약 perlcc를 이용한다고 할때
a.cgi에서
require "main_lib.pl";
위와 같이 로드해서 사용하고 있다면 제가 원하는 것은 a.cgi를 컴파일을 하면 main_lib.pl은 더이상 필요치 않을 것 같은데. 저 파일을 계속 찾습니다.
또 main_lib.pl를 컴파일 하면 a.cgi가 실행이 안되고요.
제가 잘못 생각하고 있는 건가요??
perl2exe를 사용하면 모듈까지 잘 컴파일이 되기는 합니다.
하지만 여러가지 모듈을 같이 컴파일 하니까 이것도 웹에서 CGI로 실행하니까 제대로 실행이 안되더라구요.
PAR도 써봤는데.. 마찬가지구여.. 이건 아직 자세하게 해보지 않았지만요.
결론은 개인적으로 require를 사용해 만들어 놓은 모듈까지 컴파일이 되어야 하는데 그것이 안되고 있습니다.
C 처럼 깔끔하게 되는 것이 없을까요??
옵션을 잘못 쓴 것인가요?? 정말 해결이 안되서요..
미리 감사드립니다.
댓글 달기