2010-12-19 4 views
1

fortran은 알고있는 한 GUI 지원이 없으므로 java를 사용하여 fortran 애플리케이션의 프론트 엔드를 코딩하고 싶습니다. (japi가 ifort와는 작동하지 않는 것 같습니다.)java에서 프로세스를 실행하고 입력을 유지합니다.

netbeans를 사용하여 gui를 빌드 한 다음 백그라운드에서 fortran 명령 줄 프로그램에 명령을 보내려합니다. java에서 명령 줄 응용 프로그램을 원격 제어하는 ​​방법에 대한 조언이 있습니까?

건배, 데이비드

답변

1

당신은이 가능성을 가지고 그 생각합니다.

  1. Runtime.getRuntime().exec()
  2. 사용 ProcessBuilder를.

저는 프로세스 작성기를 선호합니다. 버전 1.4에서 소개되었으며 더 나은 API를 제공합니다.

하나의 프로세스를 다른 프로세스에서 실행하는 경우 성능이 저하됩니다. 이것이 중요한 경우 표준 입력에서 명령을 읽는 포트란 프로그램을 만드는 것이 좋습니다. 그런 다음이 프로그램을 실행하고 명령을 표준 입력으로 보낼 수 있습니다. ProcessBuilder는 매우 간단합니다. 이러한 프로세스 간 통신은 매우 빠르게 작동합니다.

+0

나는 cmd.exe와 같은 프로세스가 시작되고 생성 후에 stdint를 통해 신호를받는 processbuilder를 사용하여 예제를 얻을 수 있습니까? 그게 좋을거야. – tarrasch

0

나는

Runtime.getRuntime().exec(command); 
0

또한 명명 된 파이프을 통해 통신 할 수 있습니다. AFAIK, Java에서 파일을 만들 수있는 방법이 없습니다 (리눅스에서 mkfifo를 호출하거나 Windows에서 winapi를 사용합니다). 일단 작성하면 읽기/쓰기 작업을 위해 "일반"파일로 처리 할 수 ​​있습니다.

1

목표가 Fortran 프로그램 용 GUI 인 경우 dislin 그래픽 라이브러리를 사용하여 Fortran에서 전적으로 코딩 할 수 있습니다. dislin은 주로 패키지를 꾸미는 것이지만 GUI를 만드는 루틴을 포함합니다. 여러 운영 체제에서 사용할 수 있습니다. 이러한 루틴은 본격적인 윈도우 라이브러리만큼 광범위하지는 않지만 많은 기능을 갖추고 있습니다. 예를 들어, Fortran에서 콜백 루틴을 코딩하여 화면상의 마우스 버튼에 응답 할 수 있습니다.

관련 문제