BlueM.Sim compilation: Difference between revisions

From BlueM
Jump to navigation Jump to search
(Konsolenfenster nach Anwendung verschoben)
(aufgeräumt)
Line 1: Line 1:
==Allgemeine Einstellungen==
==Compiler==
Der Quellcode von BlueM ist standardmäßig auf den [http://www.intel.com/cd/software/products/asmo-na/eng/compilers/278834.htm Intel Fortran Compiler] ausgelegt. Der Code enthält momentan einige Intel-spezifische Funktionen.
 
==Intel Fortran==
[[Bild:RECLinBytes.jpg|thumb|Use Bytes as RECL]]
[[Bild:RECLinBytes.jpg|thumb|Use Bytes as RECL]]
Compiler-Einstellungen (''Flags''), die zur erfolgreichen Kompilierung erforderlich sind.  
Compiler-Einstellungen (''Flags''), die zur erfolgreichen Kompilierung erforderlich sind.  
Line 5: Line 8:
: Damit Intel Fortran bei unformatierten Dateien (wie den Zeitreihen im BIN-Format) die Record-Länge als bytes und nicht als 4-byte Einheiten (longwords) interpretiert, muss folgender Flag gesetzt werden: "'''Use Bytes as RECL unit for unformatted files: Yes'''" (siehe Bild)
: Damit Intel Fortran bei unformatierten Dateien (wie den Zeitreihen im BIN-Format) die Record-Länge als bytes und nicht als 4-byte Einheiten (longwords) interpretiert, muss folgender Flag gesetzt werden: "'''Use Bytes as RECL unit for unformatted files: Yes'''" (siehe Bild)
<br clear="all"/>
<br clear="all"/>
==Intel Fortran 9.1==
Aus den Release notes:
<blockquote>
<u>Constants Are Now Read-Only</u><br/>
Constants, including literals and named constants (<code>PARAMETER</code>), are now allocated in a memory section that is protected against write access. This means that if a constant is passed as an actual argument to a procedure and the procedure tries to modify the argument, an access violation will result. For example:
<fortran>
      call sub (3)
      ...
      subroutine sub (i)
      i = i + 1  ! Will cause an access violation
</fortran>
The Fortran language prohibits changing the definition status of an argument associated with a constant or expression. If your application needs to do so, you can specify the <code>/assume:noprotect_constants</code> option. (In the visual development environment, select project property '''Fortran..Data..Constant Actual Arguments Can Be Changed..Yes'''.) This will instruct the compiler to create and pass a temporary copy of the constant actual argument. The called procedure can change this copy which will be discarded when the procedure exits.
</blockquote>
Das Setzen des oben genannten Flags betrifft allerdings nur benannte Konstanten, Literale (wie die '3' im Beispiel oben) können auch durch das Setzen des Flags nicht verändert werden. Um korrektes Fortran zu gewährleisten, sollte der Flag sowieso ''nicht'' gesetzt werden.


==Eclipse==
==Eclipse==
[[Bild:Eclipse.gif|thumb|Eclipse screenshot]]
[[Bild:Eclipse.gif|thumb|Eclipse screenshot]]
Die [http://www.eclipse.org Eclipse] Entwicklungsumgebung ist nützlich, um die Dokumentstruktur (sprich: Liste von Funktionen) von Fortran Quelldateien anzusehen. Ausserdem bietet Eclipse noch weitergehende Syntaxfehlererkennung und Anbindung an Subversion. Kompilierung in Eclipse erfordert ein Makefile. Es ist auch möglich, den Intel Fortran Compiler/Debugger einzubinden.
Die [http://www.eclipse.org Eclipse] Entwicklungsumgebung ist nützlich, um die Dokumentstruktur (sprich: Liste von Funktionen) von Fortran Quelldateien anzusehen. Ausserdem bietet Eclipse noch weitergehende Syntaxfehlererkennung und Anbindung an Subversion. Kompilierung in Eclipse erfordert ein Makefile. Bisher ist es aber noch nicht gelungen, BlueM erfolgreich in Eclipse zu kompilieren. Hier eine vorläufige (inkomplette) Anleitung:


<u>Installation:</u>
<u>Installation:</u>
Line 38: Line 25:
* Debug As...: C/C++ Local Application: Debugger: '''Cygwin gdb Debugger''' und Pfad zu gdb.exe angeben
* Debug As...: C/C++ Local Application: Debugger: '''Cygwin gdb Debugger''' und Pfad zu gdb.exe angeben


Es ist (theoretisch) auch möglich, den Intel Fortran Compiler/Debugger in Eclipse einzubinden.


[[Category:BlauesModell]]
[[Kategorie:BlauesModell]]

Revision as of 02:40, 16 May 2007

Compiler

Der Quellcode von BlueM ist standardmäßig auf den Intel Fortran Compiler ausgelegt. Der Code enthält momentan einige Intel-spezifische Funktionen.

Intel Fortran

Use Bytes as RECL

Compiler-Einstellungen (Flags), die zur erfolgreichen Kompilierung erforderlich sind.

  • /assume:byterecl
Damit Intel Fortran bei unformatierten Dateien (wie den Zeitreihen im BIN-Format) die Record-Länge als bytes und nicht als 4-byte Einheiten (longwords) interpretiert, muss folgender Flag gesetzt werden: "Use Bytes as RECL unit for unformatted files: Yes" (siehe Bild)


Eclipse

Eclipse screenshot

Die Eclipse Entwicklungsumgebung ist nützlich, um die Dokumentstruktur (sprich: Liste von Funktionen) von Fortran Quelldateien anzusehen. Ausserdem bietet Eclipse noch weitergehende Syntaxfehlererkennung und Anbindung an Subversion. Kompilierung in Eclipse erfordert ein Makefile. Bisher ist es aber noch nicht gelungen, BlueM erfolgreich in Eclipse zu kompilieren. Hier eine vorläufige (inkomplette) Anleitung:

Installation:

Eclipse Einstellungen:

  • Project Properties: Binary Parser: PE Windows Parser (für Syntaxfehlererkennung)
  • Debug As...: C/C++ Local Application: Debugger: Cygwin gdb Debugger und Pfad zu gdb.exe angeben

Es ist (theoretisch) auch möglich, den Intel Fortran Compiler/Debugger in Eclipse einzubinden.