- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
I'm using Intel Fortran XE 2013 SP1 to modify an existing Fortran code (under Windows 7).
I'm 'upgrading' some of the INTEGERs to INTEGER*8 (from *4), but I'm then having problems with some of the arithmetic of the *8 integers.
Adding/subtracting the *8 integers all works OK, but when multiplying causes the program to 'fall-over' (I'm running it under Debug). These particular integers all have fairly small values (<100), so cannot be an overflow problem. (I'm not mixing *8 with *4).
Could there be a problem with Project Properties - what could be causing this ?
Thanks,
Gerald Reeves.
Link kopiert
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
I think that you need to provide more details of the circumstances. Complete example code would help.
What do you mean by "fall-over"? Are you compiling for IA-32 or X64? Surely, you are not claiming that multiplying any two 8-byte integers causes a problem?
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Thanks for the reply - its seems that I don't really have a problem when I thought I did.
I was using 'F11' to step into the integer*8 arithmetic/calculations when under Debug. However, for multiplication (and division), F11 'drilled into' the assembler dialog tab when using integer*8.
I've never seen this before for integer*4 calculations and I assumed there was a problem ? Apparently not; stepping-out (shift-F11) just continues the execution of the code with the correct values.
GR.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
As 32 bit mode doesn't include simple 64 bit integer operations, some may be implemented as library function calls.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
If you are going to run programs containing 64-bit integers in the debugger, it is probably best to compile for X64 to avoid the distraction of falling into assembly routines when doing "Step-In".
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Thank you all for the useful replies
- Yes, I am using the 32bit compiler option. Will certainly consider the 64 bit compiler if I have to do much more of this !
GR.
- RSS-Feed abonnieren
- Thema als neu kennzeichnen
- Thema als gelesen kennzeichnen
- Diesen Thema für aktuellen Benutzer floaten
- Lesezeichen
- Abonnieren
- Drucker-Anzeigeseite