Skip to content
Snippets Groups Projects
Commit 0dcb0a46 authored by Vogt, Georg's avatar Vogt, Georg
Browse files

Add compiler option

Compile with -g, so that valgrind can show line numbers
parent 77b90db4
No related branches found
No related tags found
No related merge requests found
......@@ -4,13 +4,13 @@ Pointer: Referenz auf ein Objekt (von best. Objekttyp). In FTN nur Attribut fuer
Vorteile: - Pointer koennen die komplexitaet des Codes stark reduzieren
- Pointer koennen Speicher im Heap dynamisch zur Laufzeit allokieren (aehnlich zu ALLOCATE) und
- der Heap ist betraechtlich groesser als der Stack (gilt nicht fuer Variablen mit TARGET-Attribut)
- Das verwenden von z.B. Listen ist von Vorteil, wenn Daten oft in die Mitte der Liste eingefuegt werden muessen
- Das verwenden von z.B. Listen ist von Vorteil, wenn Daten oft in die Mitte der Liste eingefuegt werden muessen
(Arrays hier eher unpraktisch)
- Pointer sind noetig, um kompliziertere Datenstrukturen (z.B. trees) ordentlich zu implementieren
In FTN werden Pointer ausser bei der "=>" Zuweisung automatisch dereferenziert.
Syntax:
Syntax:
PROGRAM testprog
......@@ -44,7 +44,7 @@ Pointer Zuweisungen: "=>"
INTEGER, TARGET :: n, m
n = 1
m = 4
m = 4
ptr => n !! ptr zeigt auf n
q => ptr !! q zeigt auf n
......@@ -59,12 +59,12 @@ Gefahren beim Umgang mit Pointern:
ptr => q
DEALLOCATE(q) !! ptr nun undefiniert
- memory leaks : nichterreichbare Objekte im Heap (z.B. wenn man DEALLOCATE vergisst)
- ASSOCIATED abfrage auf einen undef. Pointer
- ASSOCIATED abfrage auf einen undef. Pointer
Anzeige von
- Zugriff auf dangling pointer (error) und
- memory leaks (leak summary - definitely lost)
Anzeige von
- Zugriff auf dangling pointer (error) und
- memory leaks (leak summary - definitely lost)
nach Ausführung des Programms:
f95 testprog.f95 -o testprog
f95 testprog.f95 -o testprog -g
valgrind ./testprog
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment