BlueM.Sim compilation: Difference between revisions
No edit summary |
(Intel Fortran 9.1) |
||
Line 1: | Line 1: | ||
==Allgemeine Einstellungen== | |||
Compiler-Einstellungen (''Flags''), die zur erfolgreichen Kompilierung erforderlich sind. | Compiler-Einstellungen (''Flags''), die zur erfolgreichen Kompilierung erforderlich sind. | ||
*Damit Intel Fortran bei unformatierten Dateien die Record-Länge als bytes und nicht als 4-byte Einheiten (longwords) interpretiert, muss folgender Flag gesetzt werden:<br/>"Use Bytes as RECL unit for unformatted files" (siehe Bild) [[Bild:RECLinBytes.jpg|thumb|Use Bytes as RECL]] | *Damit Intel Fortran bei unformatierten Dateien die Record-Länge als bytes und nicht als 4-byte Einheiten (longwords) interpretiert, muss folgender Flag gesetzt werden:<br/>"Use Bytes as RECL unit for unformatted files" (siehe Bild) [[Bild:RECLinBytes.jpg|thumb|Use Bytes as RECL]] | ||
==Intel Fortran 9.1== | |||
Aus den Release notes: | |||
<blockquote> | |||
Constants Are Now Read-Only | |||
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: | |||
<pre> | |||
call sub (3) | |||
... | |||
subroutine sub (i) | |||
i = i + 1 ! Will cause an access violation | |||
</pre> | |||
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> |
Revision as of 05:04, 12 July 2006
Allgemeine Einstellungen
Compiler-Einstellungen (Flags), die zur erfolgreichen Kompilierung erforderlich sind.
- Damit Intel Fortran bei unformatierten Dateien 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" (siehe Bild)
Intel Fortran 9.1
Aus den Release notes:
Constants Are Now Read-Only
Constants, including literals and named constants (
PARAMETER
), 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:call sub (3) ... subroutine sub (i) i = i + 1 ! Will cause an access violationThe 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
/assume:noprotect_constants
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.