Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen komut fortc'dir.
Program:
ADI
fortc - Fortran uyumlu C kodu oluşturmak için Unidata yardımcı programı
SİNOPSİS
kale [-L LibDir] [-Ö OpSys] dosya
TANIM
kale ` dan C kodunu okurdosya', onu FORTRAN uyumlu koda dönüştürür ve ardından
sonucu standart çıktıya yazar. Dönüşüm işletim sistemine bağlıdır
çünkü bu konuda standartlar yok.
Hedef işletim sistemi birkaç yolla belirlenebilir. eğer `-O'seçenek
verildiğinde, argümanı tarafından belirtilen işletim sistemi kullanılır; aksi takdirde, eğer
çevresel değişken `OS' varsa, değeriyle belirtilen işletim sistemi
kullanılmış; aksi takdirde, kurulum sırasında belirlenen varsayılan işletim sistemi
Kullanılmış.
İşlev tanımları olmayan ancak her iki C'den de erişilebilir olan genel adlar
ve FORTRAN ` ile kapatılmalıdırFC_NAME()makro:
extern int FC_NAME(foo)(void); /* FORTRAN işlevi */
dış yapı {
yüzer f;
int ben;
} FC_NAME(comblk); /* FORTRAN ortak bloğu */
cfoo()
{
dön FC_NAME(foo)(); /* FORTRAN işlevini çağır */
}
FORTRAN'dan çağrılacak C fonksiyonları aşağıdaki gibi yazılır:
int
/*FORTRAN*/
foo (
karakter yol adı, /* yeni dosyanın dosya adı */
gerçek miktar, /* caydırılacak miktar */
doubleprecision dbl, /* tizzle miktarı */
geçersiz fonksiyon errf, /* hata rutini */
tamsayı rcode /* hata kodu döndürdü */)
{
...
Veya eşdeğer olarak,
int
/*FORTRAN*/
foo(char* yol adı, kayan nokta* miktarı, çift* dbl,
geçersiz (*errf)(), int* rcode)
{
...
FORTRAN uyumlu işlevleri yazarken dikkat edilmesi gereken noktalar şunlardır:
1. Dönüştürülecek işlevler bir işlem ile işaretlenir `/*FORTRAN*/' yorum, hangi
fonksiyon adından önceki satırda görünmelidir. Herhangi bir dönüş türü bildirimi
yoruma devam.
2. Biçimsel parametreler, işlev parantezleri içinde bildirilmeli ve şunlarla ayrılmalıdır:
virgül.
3. Resmi parametreler aşağıdaki türlerle sınırlıdır:
karakter or karakter*
Fortran karakter değişkenleri için.
çift kesinlik or çift*"
Çift duyarlıklı kayan nokta değerleri için.
gerçek or yüzer*
Tek duyarlıklı kayan nokta değerleri için.
tamsayı or int *
Tamsayı değerleri için.
tip işlev isim or tip (*isim)()
` tipini döndüren işlevler içintip'.
4. Açılış parantezinden sonra `{' ve aynı satırda önemli hiçbir şey olmamalıdır.
Fonksiyonlar, biçimsel olarak aynı ada sahip değişkenler kullanılarak yazılmalıdır.
parametreler ve aynı semantik ile. Türün resmi parametreleri durumunda
`karakter' (yani Fortran karakter değişkenleri), aynı ada sahip bir değişken mevcut olacak
ve ` türünde olacakkarakter*'. Ayrıca, her karakter değişkeni argümanı için yerel bir
integral türünde bir değişken oluşturulacak ve değeri, ilişkili değişkenin boyutu olacaktır.
karakter değişkeni. Bu değişkenin adı, ilişkili değişkenin adı olacaktır.
" ile karakter değişkeni_len" eklenmiş (örneğin "yol adı_len"). Bu uzunluk değişkenleri
diğer değişkenler gibi işlevde kullanılabilir.
Örneğin, SunOS altında önceki fonksiyon (eğer
dosya `foo.src'):
#satır 1 "foo.src"
imzasız int
#satır 2 "foo.src"
foo_(yol adı, miktar, errf, rcode, yol adı_len)
karakter *yol adı;
int yol adı_len;
yüzer * miktar;
geçersiz (*errf)();
int *rcode;
{
#satır 9 "foo.src"
1) önişlemci satır yönergelerinin eklendiğini unutmayın; 2) fonksiyon adı
alt çizgi ile eklenmiş; ve 3) resmi bir parametre, `yol adı_len', yaratıldı.
UNICOS altında, aynı dosya
#Dahil etmek
#satır 1 "foo.src"
imzasız int
#satır 2 "foo.src"
FOO(yol adı, miktar, errf, rcode)
_fcd yol adlı;
yüzer * miktar;
geçersiz (*errf)();
int *rcode;
{
char *yol adı = _fcdtocp (yol adı);
imzasız pathname_len = _fcdlen (pathnamed);
#satır 9 "foo.src"
Özellikle, ek `#include ' ve yaratılış ve
yerel değişkenlerin başlatılması `yol adı' ve 'yol adı_len'.
Bu yardımcı program bir komut dosyası olarak uygulanır ve sistem tarafından sağlanan yardımcı programları kullanır susuzluk(1) ve
m4(1).
SEÇENEKLER
-L LibDir"
'fortc' kitaplık dosyalarını içeren dizini tanımlar. Varsayılan
kurulum sırasında belirlenir.
-O OpSys
İşletim sistemini şu şekilde tanımlar: OpSys. Bilinen değerler arasında "aix", "convexos",
"domainos", "hpux", "irix", "msoft", "next-absoft", "newsos", "sunos", "ultrix",
"unicos" ve "vms". Daha fazla esnekliğe izin vermek için bilinen değerler,
herhangi bir son ek (örneğin `sunos_4.1').
ÇEVRE
OS `-O' seçeneği belirtilmemişse işletim sistemini tanımlar. Bilinen değerler
ile aynı -O seçeneği.
onworks.net hizmetlerini kullanarak fortc'yi çevrimiçi kullanın