이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 명령 fortc입니다.
프로그램:
이름
fortc - Fortran 호환 C 코드를 생성하는 Unidata 유틸리티
개요
요새 [-엘 LibDir] [-영형 옵시스] 파일
기술
요새 `에서 C 코드를 읽습니다.파일', FORTRAN 호환 코드로 변환한 다음
결과를 표준 출력에 씁니다. 변환은 운영 체제에 따라 다릅니다.
이 문제에 대한 기준이 없기 때문입니다.
대상 운영 체제는 여러 가지 방법으로 지정할 수 있습니다. `-O' 옵션은
주어진 경우 인수로 지정된 운영 체제가 사용됩니다. 그렇지 않으면
환경 변수 `OS'가 있는 경우 해당 값으로 지정된 운영 체제는 다음과 같습니다.
사용 된; 그렇지 않으면 기본 운영 체제(설치 시 결정됨)는 다음과 같습니다.
익숙한.
함수 정의는 아니지만 두 C 모두에서 액세스할 수 있는 전역 이름
FORTRAN은 `FC_NAME()' 매크로:
extern int FC_NAME(foo)(무효); /* 포트란 함수 */
외부 구조체 {
플로트 f;
int i;
} FC_NAME(콤블크); /* FORTRAN 공통 블록 */
씨푸()
{
반환 FC_NAME(foo)(); /* FORTRAN 함수 호출 */
}
FORTRAN에서 호출되는 C 함수는 다음과 같이 작성됩니다.
INT
/*포트란*/
푸(
문자 경로 이름, /* 새 파일의 파일 이름 */
실제 금액, /* 약탈할 금액 */
doubleprecision dbl, /* tizzle의 양 */
무효 함수 errf, /* 오류 루틴 */
정수 rcode /* 반환된 오류 코드 */)
{
...
또는 동등하게,
INT
/*포트란*/
foo(char* 경로명, float* 양, double* dbl,
무효(*errf)(), int* rcode)
{
...
FORTRAN 호환 기능을 작성할 때 주의할 점은 다음과 같습니다.
1. 변환할 함수는 `/*포트란*/' 댓글,
함수 이름 앞의 줄에 나타나야 합니다. 모든 반환 유형 선언은
댓글을 진행합니다.
2. 형식 매개변수는 함수 괄호 안에 선언해야 하며 다음으로 구분해야 합니다.
쉼표.
3. 형식 매개변수는 다음 유형으로 제한됩니다.
문자 or 숯*
Fortran 문자 변수의 경우.
배정밀도 or 더블*"
배정밀도 부동 소수점 값의 경우.
현실 or 흙손*
단정밀도 부동 소수점 값의 경우.
정수 or int *
정수 값의 경우.
유형 기능 name or 유형 (*name)()
유형을 반환하는 함수의 경우 `유형'.
4. 여는 중괄호 `{' 다음과 같은 줄에 중요한 것이 없어야 합니다.
함수는 형식과 동일한 이름을 가진 변수를 사용하여 작성해야 합니다.
매개변수 및 동일한 의미를 사용합니다. 형식 매개변수의 경우
`문자'(예: Fortran 문자 변수), 같은 이름의 변수가 존재합니다.
유형은 `숯*'. 또한 각 문자 변수 인수에 대해 로컬
정수 유형의 변수가 생성되고 그 값은 연관된
문자 변수. 이 변수의 이름은 연결된
"가 있는 문자 변수_렌" 추가됨(예: "경로명_len"). 이러한 길이 변수는
다른 변수와 마찬가지로 함수에서 사용됩니다.
예를 들어, SunOS에서 이전 기능은 (만약 그것이
파일 `foo.src') :
#줄 1 "foo.src"
서명되지 않은 정수
#줄 2 "foo.src"
foo_(경로 이름, 양, errf, rcode, pathname_len)
char *경로명;
int 경로명_len;
부동 *금액;
무효(*errf)();
정수 *rcode;
{
#줄 9 "foo.src"
1) 전처리기 라인 지시문이 추가되었습니다. 2) 함수 이름이
밑줄 접미사; 3) 형식 매개변수 `경로명_len', 생성 된.
UNICOS에서는 동일한 파일이
#포함하다
#줄 1 "foo.src"
서명되지 않은 정수
#줄 2 "foo.src"
FOO(경로명, 금액, errf, rcode)
_fcd 경로명;
부동 *금액;
무효(*errf)();
정수 *rcode;
{
char *경로명 = _fcdtocp(경로명);
서명되지 않은 pathname_len = _fcdlen(경로 이름);
#줄 9 "foo.src"
특히 추가 `#include ' 그리고 창조와
지역 변수 초기화 `경로명' 및 `경로명_len'.
이 유틸리티는 스크립트로 구현되며 시스템 제공 유틸리티를 사용합니다. SED(1)과하면
m4(1).
옵션
-L LibDir"
'fortc' 라이브러리 파일을 포함하는 디렉토리를 정의합니다. 기본값은
설치 시 결정됩니다.
-O 옵시스
운영 체제를 다음과 같이 정의합니다. 옵시스. 알려진 값에는 'aix', 'convexos',
'domainos', 'hpux', 'irix', 'msoft', 'next-absoft', 'newsos', 'sunos', 'ultrix',
'unicos' 및 'vms'. 더 큰 유연성을 허용하기 위해 알려진 값은 다음과 같을 수 있습니다.
모든 접미사(예: `sunos_4.1').
환경
OS `-O' 옵션이 지정되지 않은 경우 운영 체제를 정의합니다. 알려진 값
와 동일하다 -O 옵션을 선택합니다.
onworks.net 서비스를 사용하여 온라인으로 fortc 사용