저는 PAR :: Packer에 매우 익숙하며 perl에서 스크립트를 wrtten했습니다. 내가 .exe를 위해 컴파일과 함께 exe 인 오류 아웃 "파일을 열 수 없습니다가, 그런 파일이나 디렉토리 수 있습니다"PAR :: Packer에 포함 된 파일 문제가 발생했습니다.
내가 쉽게 만들 수 있습니다 (그래서 포터블) 두 개의 파일을 포함 할 때
난 데 문제는 c : \ temp 디렉토리가있는 한 .exe로 스크립트를 복사하십시오. 하지만 내가 원하는 것은 c : \ temp 디렉토리가 아닌 .exe에 포함 된 파일을 사용하는 것입니다. 여기
문제의 스크립트의 일부입니다open($patch1, '<', "C:/temp/patch1.bin") or die "cannot open this file: $!";
binmode($patch1);
open($patch2, '<', "C:/temp/patch2.bin") or die "cannot open this file: $!";
binmode($patch2);
와 같은 나는 그것을이 원하는 모두는 C에서 .EXE에 포함 된 파일 및 NOT 파일을 사용하고, 말 :/temp 디렉토리. 는 내가 그것을 필자가 코딩하는 방법이 될 수있다라고 생각하지만, 필자는 내가 아주 간단한 뭔가를 놓친 거지 것처럼 보인다 도움은 매우 극명하게 될 것이다 "C:/temp/patch1.bin"
대신 "./patch1.bin"
을 시도했다.
감사하고 행복한 추수 감사절 :
질문의 코드 디렉토리C:/temp
에서
patch1.bin
및
patch2.bin
라는 이름의이 개 파일을 열려고
또한이 스크립트를 모두 추가해야하고, 파일을 열고, 특정 오프셋을 찾고, $ patch1을 쓴 다음 다른 오프셋을 찾고 $ patch2를 씁니다. 그것의 다만 간단한 찾는과 원본을 쓰십시오. – james28909
어쨌든, 짧은 답변 : http://search.cpan.org/perldoc?PAR::Tutorial#Accessing_packed_files –
을 참조하십시오. 질문이 중복되면 사과드립니다. 하지만 이것은 매우 기본적인 스크립트이고 perl2exe는 파일을 컴파일하고 포함하며 스크립트를 실행하고 exe 내에서 파일을 사용합니다. 나는 똑같은 일을 성취하려고 노력 중이므로 모든 윈도우 PC에서이 휴대용을 만들 수있다. 하지만 문제는 cmd.exe를 종료 할 때 2 초의 지연 시간을 갖는 .exe가 만들어지기 때문에 perl2exe를 사용하고 싶지 않다는 것입니다. 나는이 2 초 지연을 거의 없애려고 노력하고있다. – james28909