англійськафранцузькаіспанська

Ad


Значок OnWorks

fortc - Інтернет у хмарі

Запустіть fortc у постачальника безкоштовного хостингу OnWorks через Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

Це команда fortc, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

ПРОГРАМА:

ІМ'Я


fortc - утиліта Unidata для створення коду C, сумісного з фортраном

СИНТАКСИС


fortc [-Л LibDir] [-О OpSys] файл

ОПИС


fortc Читає код C з `файл', перетворює його в код, сумісний з FORTRAN, а потім
записує результат у стандартний висновок. Перетворення залежить від операційної системи
тому що в цьому питанні немає стандартів.

Цільова операційна система може бути визначена кількома способами. Якщо `-O' варіант є
якщо дано, то використовується операційна система, визначена її аргументом; інакше, якщо
змінна середовища `OS' існує, то операційна система, визначена його значенням, є
використаний; інакше операційна система за замовчуванням, визначена під час встановлення, є
використаний

Глобальні імена, які не є визначеннями функцій, але мають бути доступні з обох C
і FORTRAN повинні бути огороджені `FC_NAME()' макрос:

extern int FC_NAME(foo)(void); /* функція FORTRAN */

зовнішня структура {
float f;
int i;
} FC_NAME(comblk); /* загальний блок FORTRAN */

cfoo()
{
повернути FC_NAME(foo)(); /* виклик функції FORTRAN */
}

Функції C, які потрібно викликати з FORTRAN, записуються так:

Int
/*FORTRAN*/
фу(
символ шляху, /* ім'я файлу нового файлу */
реальна сума, /* сума, яку можна розбити на */
подвійна точність dbl, /* збільшується на */
void функція errf, /* програма помилок */
ціле число rcode /* повернуто код помилки */)
{
...

або, що еквівалентно,

Int
/*FORTRAN*/
foo(char* шлях, float* сума, double* dbl,
void (*errf)(), int* rcode)
{
...

При написанні FORTRAN-сумісних функцій слід звернути увагу на:

1. Функції, що підлягають перетворенню, позначаються процедурою `/*FORTRAN*/' коментар, який
має відображатися в рядку перед назвою функції. Будь-які оголошення типу повернення повинні
продовжити коментар.

2. Формальні параметри повинні бути оголошені в дужках функції та розділені символом
коми.

3. Формальні параметри обмежені такими типами:

характер or char *
Для символьних змінних Fortran.

подвійна точність or подвійний*"
Для значень з плаваючою комою подвійної точності.

реальний or плавати*
Для значень з плаваючою комою одинарної точності.

ціле or int *
Для цілих значень.

тип функція ім'я or тип (*ім'я)()
Для функцій, які повертають тип `тип'.

4. Після відкриваючої дужки `{' та в тому ж рядку не повинно бути нічого важливого.

Функції повинні бути записані за допомогою змінних з тими ж іменами, що й формальні
параметри і з такою ж семантикою. У разі формальних параметрів типу
`характер' (тобто символьні змінні Fortran), буде існувати змінна з такою ж назвою
і буде типу `char *'. Крім того, для кожного аргументу символьної змінної локальний
буде створена змінна інтегрального типу і її значенням буде розмір асоційованого
символьна змінна. Ім'я цієї змінної буде ім'ям пов'язаної
символьна змінна з "_len" додається (наприклад "ім'я шляху_len"). Ці змінні довжини можуть
використовуватися у функції, як і будь-яка інша змінна.

Наприклад, під SunOS попередня функція стала б (якщо вона міститься в
файл `foo.src'):

#рядок 1 "foo.src"
неподписаний int
#рядок 2 "foo.src"
foo_(назва шляху, сума, errf, rcode, pathname_len)
char *назва шляху;
int ім'я_путі_len;
float *сума;
недійсний (*errf)();
int *rcode;
{
#рядок 9 "foo.src"

Зверніть увагу, що 1) були додані директиви лінії препроцесора; 2) назва функції була
із суфіксом підкреслення; і 3) формальний параметр, `ім'я шляху_len', було створено.

Під UNICOS такий самий файл став би

#включати
#рядок 1 "foo.src"
неподписаний int
#рядок 2 "foo.src"
FOO(шлях, сума, errf, rcode)
_fcd шлях із назвою;
float *сума;
недійсний (*errf)();
int *rcode;
{
char *pathname = _fcdtocp (названий шлях);
unsigned pathname_len = _fcdlen (названий шлях);
#рядок 9 "foo.src"

Зверніть увагу, зокрема, на додатковий `#include ' і створення і
ініціалізація локальних змінних `ім'я шляху' і `ім'я шляху_len'.

Ця утиліта реалізована як скрипт і використовує утиліти, що надаються системою sed(1) і
m4(1).

ВАРІАНТИ


-L LibDir"
Визначає каталог, що містить файли бібліотеки `fortc'. За замовчуванням є
визначається під час встановлення.

-O OpSys
Визначає операційну систему як OpSys. Відомі значення включають `aix', `convexos',
`domainos', `hpux', `irix', `msoft', `next-absoft', `newsos', `sunos', `ultrix',
`unicos' та `vms'. Щоб забезпечити більшу гнучкість, відомі значення можуть мати
будь-який суфікс (наприклад, `sunos_4.1').

НАВКОЛИШНЄ СЕРЕДОВИЩЕ


OS Визначає операційну систему, якщо параметр `-O' не вказано. Відомі цінності
є такими ж, як і -O варіант.

Використовуйте fortc онлайн за допомогою служб onworks.net


Безкоштовні сервери та робочі станції

Завантажте програми для Windows і Linux

Команди Linux

Ad