Pelles C c99 standard
-
@Th69
Habe gefunden was du meinst. ich kann auswählen zwischen c11,c17,c99 aber er bringt mir immer
noch die Fehlermeldung cant find include file <complex.h>
-
@Schorsch24 Hast du denn mal geschaut, ob die Datei überhaupt vorhanden ist?
-
Und kannst du andere C99-Headerdateien, wie z.B.
<stdbool.h>
,<tgmath.h>
oder<inttypes.h>
einbinden (s.a. C99: Design)?
-
die anderen Header Dateien stdbool.h, tgmath.h, inttypes.h gehen durch soweit, nur complex.h findet er nicht.
-
Hast du denn jetzt mal im Installationsordner nachgeschaut, ob die Datei
complex.h
dort existiert?
-
@Th69 sagte in Pelles C c99 standard:
Hast du denn jetzt mal im Installationsordner nachgeschaut, ob die Datei complex.h dort existiert?
ja hab jetzt nachgeschaut, die complex.h fehlt. wo bekomme ich die Datei her? hast du eine gute Quelle?
-
@Schorsch24 In der complex.h sind nur die Prototypen für die Funktionen definiert.
Die Funktionen selber müssen noch in einer Bibliothek sein - wenn die auch fehlt, nützt die die complex.h nichts.Die Unterstützung für Complexe Zahlen wurde mit C99 eingeführt und wurde mit C11 wieder optional.
Ob Pelles C noch complex unterstützt, ist daher fraglich.
https://forum.pellesc.de/index.php?topic=8230.msg29936#msg29936
-
Wenn es wirklich dringend ist, ist es natürlich kein Hexenwerk, zumindest eine naive Umsetzung von complex.h selber zu programmieren, indem man die arithmetischen Identitäten zur Umformung hin zu den nicht-komplexen Funktionen aus math.h nutzt. Das sollte numerisch sogar ganz ok sein. Aber es ist halt eine ganze Menge Fleißarbeit, ~20 Funktionen in jeweils 3 verschiedenen Varianten aufzuschreiben. Leider finde ich nach kurzer Suche keine fertige OS Umsetzung davon, mit der man sich die viele Arbeit sparen könnte. Der Bedarf ist wohl zu gering, da es ja bei den allermeisten Compilern schon nativ eingebaut ist (und auch nicht so viele Leute Trigonometrie mit komplexen Zahlen brauchen werden). Vielleicht findet eine tiefere Suche ja etwas, oder man guckt, ob die Umsetzungen anderer Compiler übertragbar sind.
-
danke für die Hilfe! ich werde erstmal ohne complex.h weiter machen, nicht so wild
mfg
-
@Schorsch24
Das o.g. Makro STDC_IEC_559_COMPLEX zeigt an, ob der Compiler Complexzahlen unterstützt oder nicht. Das ist UNabhängig davon, ob du C99 einstellst oder nicht, d.h. der Compiler kann für sich in Anspruch nehmen, C99 konform zu sein, ohne Complexzahlen (u.a.) zu unterstützen.