Vermeiden Sie Zeilenumbrüche in der listengesteuerten Ausgabe mit dem Intel Fortran-Compiler

8

Ich habe bemerkt, dass die Ergebnisse der listengesteuerten Ausgabe write(*,*) in Fortran compilerabhängig sind.

Tatsächlich mit dem Code:

%Vor%

Intel-Compiler ifort gibt Standardausgabe, unterbrochen durch eine neue Zeile:

%Vor%

während gfortran das äquivalente Ergebnis einer Zeile ergibt:

%Vor%

Ich denke, dass ifort maximal 3 Elemente pro Zeile schreibt (wenn reelle Zahlen schweben). Gibt es eine Möglichkeit, die ifort-Ausgabe wie gfrotran aussehen zu lassen, d. H. Die neue Zeile zu vermeiden? Idealerweise möchte ich die listorientierte Ausgabe (*,*) instructions beibehalten, also suche ich nach etwas wie einer Compiler-Option oder so, falls vorhanden.

    
gluuke 01.07.2013, 14:44
quelle

4 Antworten

5

Seit Version 14 hat der Intel Fortran Compiler die Option -no-wrap-margin.

Standardmäßig wird der Datensatz nach 80 Zeichen umbrochen. mit -no-wrap-margin entfernt dieses Verhalten.

    
Nicolas D 04.11.2014, 12:51
quelle
7

Nein. Listengesteuerte (freie Format-) Ausgabe bietet Bequemlichkeit, aber Sie geben die Kontrolle auf. Verschiedene Aspekte der Ausgabe sind nicht spezifiziert und können für den Compiler ausgewählt werden. Wenn Sie die volle Kontrolle haben wollen, müssen Sie eine formatierte Ausgabe verwenden.

    
M. S. B. 01.07.2013 15:23
quelle
2

Untersuchen Sie Bearbeitungsdeskriptoren in Ihrem bevorzugten Fortran-Buch oder in Ihrer Online-Dokumentation. Sie können fmt specifier in der write -Anweisung verwenden, um Bearbeitungsdeskriptoren anzugeben. Zum Beispiel:

%Vor%

sollte etwas ähnlich wie:

ausgeben %Vor%     
milancurcic 01.07.2013 14:57
quelle
-2

Siehe Ссылка

Geben Sie FORT_FMT_RECL an oder verwenden Sie schreibe (, " (G0,1X))"

    
user3651717 19.05.2014 07:41
quelle

Tags und Links