컴파일 후 실행할때 에러

게시판 IDL Q&A 컴파일 후 실행할때 에러

1 답변 글타래를 보이고 있습니다
  • 글쓴이
    • #1625 Reply
      heesang
      회원

      컴파일 에러 없이 컴파일 완료 후 실행하게되면,

      % Procedure was compiled while active: File_name01. Returning.
      % Compiled module: File_name02.
      % Can’t continue from this point.
      % Execution halted at: $MAIN$

      이러한 에러가 뜹니다. 여기서, 에러를 무시하고 한번 더 실행하면 또 실행이 됩니다.
      그래서 계속해서 두번씩 실행을 하게되는데 이런 에러가 뜨는 이유가 궁금합니다.

    • #1627 Reply
      Jonghyuk Yi
      회원

      소스코드를 보지 않은 상태에서 상황을 이해하기는 어렵습니다만,
      첫 줄의 메시지는 file_name01 이라는 프로시저가 실행되는 중에 file_name01을 다시 컴파일 하라는 명령을 받아, 일단 돌리고 있던 file_name01은 중단하고(returning) 다시 컴파일한다는 의미인데요, 이 때 보통은
      바로 다음 줄이 file_name01을 컴파일 하였다는 내용이 될텐데, 그렇지 않은 것 같습니다. 이 부분은 제가 이해가 잘 가지 않습니다.

      경험적으로 보았을 때,
      file_name01 프로시저와 file_name02 프로시저 또는 펑션이 소스코드 상의 순서가 바뀌어 발생하는 문제 아닐까 생각합니다(두번째 실행시켰을 때는 실행된다는 것으로부터 추측합니다). 소스코드 상에서 이 두 블록의 위치를 바꾸어 보시면 어떨까 생각합니다.

      실행 코드라고 말씀하시는 것의 메인이 스크립트 형태가 아닐까 하는 생각도 듭니다. 일반 프로그램(컴파일 후 실행하는)에서는 .compile 명령을 쓸 수 없기 때문에, 실행 중 중단하고 다시 컴파일 하는 경우는 없거든요.

1 답변 글타래를 보이고 있습니다
'컴파일 후 실행할때 에러'에 답변달기
글쓴이 정보: