unix( unix.cnu.ac.kr)를 사용하기 위한 계정은 지도 교수를 통하여 심 경무 교수에게 신청한다. 대학원생의 경우에는 누구나 신청할 수 있다.
우선 단말기나 PC에서 unix에 접속하기 위하여는 TELNET이라는 프로그램이 필요하다. 보통 Win9x가 설치되어 있는 PC에는 windows folder에 들어 있다. 또 많은 경우 file을 주고 받기 위한 ftp 프로그램이 필요하다. 이에 대한 것은 물리학과 전산물리실험실 소프트웨어를 참조한다.
unix를 사용하기 위하여는 초보적인 unix 명령어를 알아야 한다.
Fortran program은 정해진 규칙(syntax)를 따라서 쓴 보통의 텍스트이다. 이를 원시 코드source code라고 한다. 이 source code를 쓰기 위하여는 editor를 사용하여야 한다. unix에는 emacs, vi 등의 editor가 있다. Fortran program을 작성한 후 확장자(extention)를 .f 또는 .for으로 하여 file로 저장하여야 한다.
프로그램을 수행하기 전에 프로그램을 기계가 읽을 수 있는 형태로 바꾸어야 한다. 이는 compiler라고 하는 특별한 프로그램에 의하여 바뀐다. unix.cnu.ac.kr에는 Fortran 77 compiler는 f77이 설치되어 있다. compile 후의 출력은 특별한 명령이 없는 한 a.out이 된다. 원하면 다른 이름으로 바꿀 수 있다. (엄밀하게 말하면 이 설명은 지나치게 간결하다. 실제로는 compiler는 source code를 object code로 바꾸고 linker/loader라는 프로그램이 이를 실행 파일executable로 변환시킨다.)
circle.f이라는 프로그램을 작성하였으면 다음과 같은 순서로 컴파일 한다.
f77 circle.f
a.out
동시에 여러 개의 실행 file을 다루게되면 compiler의 출력에 이름을 주는 것이 좋다. 이 때는 -o option을 추가하면 된다. 즉
f77 circle.f -o circle
와 같이 하면 실행 file은 circle가 된다. object codes와 executables는 사용하지 않는다면 지워버리도록 한다.
앞에서 compiling과 linking을 구분하지 않았다. 실제로는 이 둘은 서로 다른 과정이지만 Fortran compiler는 이 두 과정을 모두 수행하기에 보통 사용자들은 이를 모르고 지나간다. 다음 예에서는 source code file이 두 개일 경우이다.
f77 circle1.f circle2.f
이 경우 두 개의 object code file 즉 circle1.o과 circle2.o 및 a.exe 등 세개의 file이 만들어진다. 실제로는 Fortran compiler는 우선 source code를 compile하여 두 개의 .o로 끝나는 obect files를 만들고 이 두 object file를 link 시켜 실행 file a.exe를 만든다. 물론 이 과정을 차례 차례로 수행할 수도 있다.
f77 -c circle1.f circle2.f
f77 circle1.o circle2.o
이렇게 여러 개의 분리된 file을 compile하는 것은 file이 많고 그 중의 일부만 다시 compile 할 경우 유용하다. unix에서는 make라는 프로그램이 있어 source file이 여러 개인 커다란 software package를 다룰 때 유용하다. 이 package는 makefile를 만들어 수행하도록 되어 있다. makefile을 만드는 일는 약간 복잡하기에 여기서는 더 이상 다루지 않는다.
물리학과 전산물리실험실 PC에는 g77 for Win32가 설치되어 있다. 우선 Windows98을 사용할 줄 모른다면 우선 이를 배워야 한다.
Source code, object code, compiling, and linking
Fortran program은 정해진 규칙(syntax)를 따라서 쓴 보통의 텍스트이다. 이를 원시 코드source code라고 한다. 이 source code를 쓰기 위하여는 editor를 사용하여야 한다. 이미 설치되어 있는 programmer's file editor (PFE)를 사용하면 매우 편리하다. 이 PFE를 사용하면 edit도 할 수 있을 뿐 아니라 뒤에 설명하는 compile 및 run을 손쉽게 할 수 있다. PFE와 함께 g77 사용하기를 참조한다. PFE는 한글을 입력하는데 문제가 있다.
Fortran program을 썼으면 확장자(extention)를 .f 또는 .for으로 하여 file로 저장하여야 한다. floppy 또는 C:\TempUser에 자신의 folder를 만든 후 임시로 저장한다.
프로그램을 수행하기 전에 프로그램을 기계가 읽을 수 있는 형태로 바꾸어야 한다. 이는 compiler라고 하는 특별한 프로그램에 의하여 바뀐다. 보통 Fortran 77 compiler는 f77인데 전산물리실험실에는 gnu에서 무료로 제공하는 g77이 설치되어 있다. compile 후의 출력은 특별한 명령이 없는 한 a.exe가 된다. 원하면 다른 이름으로 바꿀 수 있다. program을 수행시키려면 단순히 실행 file (executable file)의 icon을 click하면 된다. (이 설명은 엄밀하게 지나치게 간결하다. 실제로는 compiler는 source code를 object code로 바꾸고 linker/loader라는 프로그램이 이를 실행 파일executable로 변환시킨다.)
동시에 여러 개의 실행 file을 다루게되면 compiler의 출력에 이름을 주는 것이 좋다. 즉 PFE의 [Execute] - [DOS command to WIndow ..]에서 [Command]에 -o option을 추가하면 된다. 즉
앞에서 compiling과 linking을 구분하지 않았다. 실제로는 이 둘은 서로 다른 과정이지만 Fortran compiler는 이 두 과정을 모두 수행하기에 보통 사용자들은 이를 모르고 지나간다. 다음 예에서는 source code file이 두 개일 경우이다.
전산물리실험실 콤퓨터에서 Fortran을 사용하는 법 (How to use Fortran on the PC at Physics Computer Lab)
c:\g77\bin\g77.exe circle.for -ocircle
와 같이 하면 실행 file은
circle.exe가 된다. object codes와 executables는 사용하지 않는다면 지워버리도록 한다.
c:\g77\bin\g77.exe circle1.f circle2.f
이 경우 두 개의 object code file 즉 circle1.o과 circle2.o 및 a.exe 등 세개의 file이 만들어진다. 실제로는 Fortran compiler는 우선 source code를 compile하여 두 개의 .o로 끝나는 obect files를 만들고 이 두 object file를 link 시켜 실행 file a.exe를 만든다. 물론 이 과정을 차례 차례로 수행할 수도 있다.
c:\g77\bin\g77.exe -c circle1.f circle2.f
c:\g77\bin\g77.exe circle1.o circle2.o
이렇게 여러 개의 분리된 file을 compile하는 것은 file이 많고 그 중의 일부만 다시 compile 할 경우 유용하다. Unix에서와 마찬가지로 make라는 프로그램이 있어 source file이 여러 개인 커다란 software package를 다룰 때 유용하다. 이 package는 makefile를 만들어 수행하도록 되어 있다. makefile을 만드는 일는 약간 복잡하기에 여기서는 더 이상 다루지 않는다.
Exercises:
[Fortran Tutorial]