Interprozesskommunikation mit Fortran

Konrad Hinsen hinsen at ibs.ibs.fr
Tue May 6 14:56:23 EDT 1997


> Meine naive Idee ist im Moment das ganze ueber zwei ``named pipes'' zu
> machen, die eine sagt, das es Daten haben moechte die andere gibt sie
> dann raus, und da steht ein Pythonprozess und wartet. Das Modell
> koennte in der Zeit dann sogar stehen.

Das sollte kein Problem sein, zumindest unter Unix.

> Nun bin ich mir aber nicht sicher, ob die Variablen als Referenzen an
> die C-Routine gegeben werden koennen (waere noetig, um vorher einfach alle,
> die irgendwie interessant sein koennten zu deklarieren).

Fortran-Variablen werden *immer* als Referenzen uebergeben. Im Prinzip
haengen die Details vom Compiler ab, aber unter Unix-Compilern gibt es
anscheinend kaum Variationen. Ein Fortran-Aufruf wie z.B.

    integer a
    real*8 b
    call f(a, b)

ist kompatibel mit einer C-Funktion

    void f_(int *a, double *b)

oder

    void f(int *a, double *b)

Der Name der Funktion ist also in der Praxis das einzige Problem.

Es gibt ein Paket namens CFORTRAN (vom FTP-Server am DESY), das sich
um solche Details kuemmert.
-- 
-------------------------------------------------------------------------------
Konrad Hinsen                          | E-Mail: hinsen at ibs.ibs.fr
Laboratoire de Dynamique Moleculaire   | Tel.: +33-4.76.88.99.28
Institut de Biologie Structurale       | Fax:  +33-4.76.88.54.94
41, av. des Martyrs                    | Deutsch/Esperanto/English/
38027 Grenoble Cedex 1, France         | Nederlands/Francais
-------------------------------------------------------------------------------

______________________________________________________________
   python-de          the German Python mailing list
send messages to:   <mailto:python-de at solar.skyport.net>
list manager: <mailto:owner-python-de at solar.skyport.net>
______________________________________________________________



More information about the Python-de mailing list