C-Programmierung: Float in Int umwandeln Im Unterforum Off-Topic - Beschreibung: Alles andere was nirgendwo reinpasst
Autor |
C-Programmierung: Float in Int umwandeln |
|
|
|
|
BID = 629070
bastler16 Schreibmaschine
Beiträge: 2140 Wohnort: Frankreich
|
|
Hallo Don,
Zitat :
| Es sollte aber irgendwo die Möglichkeit geben, benutzerdefinierte zusätzliche Parameter anzugeben. Ist aber i.d.R. nicht nötig. |
Das ist kein Problem, bei mir ist das unter Outils, Options du Compilateur (Dev-C++ ist auf französisch eingestellt).
Ich wollte eigentlich fragen: Ist es für einen Anfänger sinnvoll Parameter wie z.B. -pedantic -wall usw. zu benutzen oder sollte man einfach die Standardeinstellungen drin lassen? (Wenn ich mir die Menge Fehler und Warnungen angucken lass ich das mit den Parametern wohl besser bleiben. ).
Zitat :
|
Übrigens würde hier ein Byte reichen ('e'), dann muss kein Zeiger übergeben werden:
fprintf(stdout, "Insgesamt %i Wert%c\n", i,( (i==1) ? ('\0') : ('e') ));
|
Ja, aber dann muss man einen Backslash und eine Null tippen (3 Tasten mehr ).
Hast natürlich Recht, ein Byte würde reichen.
Zitat :
|
So, ich hoffe, damit ist die Verwirrung ein wenig kleiner geworden.
|
Ja, ich glaub ich habs verstanden.
Zitat :
| Stack hin oder her, ich kann nicht mehr ... |
Das kann ich gut verstehen.
Nochmals Danke für die Erklärungen/..., hast dir ein verdient. |
|
BID = 629075
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
|
Tach,
Zitat :
|
ch wollte eigentlich fragen: Ist es für einen Anfänger sinnvoll Parameter wie z.B. -pedantic -wall usw. zu benutzen oder sollte man einfach die Standardeinstellungen drin lassen? (Wenn ich mir die Menge Fehler und Warnungen angucken lass ich das mit den Parametern wohl besser bleiben. ).
|
Mach das ruhig!
Dann geht er ein wenig strenger mit dem Quellkode um.
Wenn du bei einer Warnung oder einer Fehlermeldung partout nicht weiter kommst, kannst du sie hier ja posten, am besten inkl. ein paar Zeilen über und unter der als fehlerhaft angezeigten Zeile .
Ist doch gut, wenn man anfangs lernt, die gröbsten Fehler zu vermeiden .
Zitat :
|
Nochmals Danke für die Erklärungen
|
Gern geschehen.
Ist auch schwierig, allumfassend zu antworten... Denn es gibt verdammt viele richtige Wege, einige schwierig, andere sauschnell, andere kompliziert und langsam... .
Zudem kommt es selbst bei C auf den Kompilierer und die Toolchain an, sowie auf die Zielumgebung. Es macht große Unterschiede, ob das Programm auf einer x86-Architektur, auf einem AVR, einem ARM, einem Z1 oder auf einem DSP laufen soll
Hachja, edit meint noch bzgl. gutem Stil:
Der doppelte Schrägstrich (//) dient nur in C++ der Einleitung eines einzeiligen Kommentars. In C gibt es den eigentlich nicht, nur sehen die meisten Compiler großzügig drüber hinweg.
Das für C korrekte Kommentar wird eingeleitet durch /* und beendet durch */, es kann mehrzeilig sein.
_________________
[ Diese Nachricht wurde geändert von: DonComi am 23 Aug 2009 18:48 ] |
|
BID = 629108
bastler16 Schreibmaschine
Beiträge: 2140 Wohnort: Frankreich
|
Offtopic :
| Einen falschen Knopf gedrückt und meine Antwort verschwindet samt Firefox und Inhalt der Zwischenablage im Nirvana. |
Hallo Don,
Zitat :
|
Zitat :
|
Ich wollte eigentlich fragen: Ist es für einen Anfänger sinnvoll Parameter wie z.B. -pedantic -wall usw. zu benutzen oder sollte man einfach die Standardeinstellungen drin lassen? (Wenn ich mir die Menge Fehler und Warnungen angucken lass ich das mit den Parametern wohl besser bleiben.).
|
Mach das ruhig!
Dann geht er ein wenig strenger mit dem Quellkode um.
|
Überzeugt. Bloss, was genau aktivieren? -wall erscheint mir auf jeden Fall sinnvoll:
Zitat :
| This enables all the warnings about constructions that some users consider questionable, and that are easy to avoid (or modify to prevent the warning), even in conjunction with macros. |
(GCC Doku http://gcc.gnu.org/onlinedocs/gcc/W.....ions)
Bei -ansi und -pedantic bin ich mir nicht sicher, -pedantic habe ich eh nicht so richtig verstanden...
Was würdest du empfehlen? Nur -wall oder auch -ansi und/oder -pedantic?
Zitat :
|
Wenn du bei einer Warnung oder einer Fehlermeldung partout nicht weiter kommst, kannst du sie hier ja posten, am besten inkl. ein paar Zeilen über und unter der als fehlerhaft angezeigten Zeile . |
Das Angebot nehme ich gerne an.
Zitat :
|
Ist doch gut, wenn man anfangs lernt, die gröbsten Fehler zu vermeiden .
|
Ja, gerade bei einer Sprache wie C die einem viele Freiheiten lässt.
Zitat :
|
Zudem kommt es selbst bei C auf den Kompilierer und die Toolchain an, sowie auf die Zielumgebung. Es macht große Unterschiede, ob das Programm auf einer x86-Architektur, auf einem AVR, einem ARM, einem Z1 oder auf einem DSP laufen soll
|
Das ist imho einer der Gründe, warum C für einen Anfänger so kompliziert ist...
Zitat :
|
Der doppelte Schrägstrich (//) dient nur in C++ der Einleitung eines einzeiligen Kommentars. In C gibt es den eigentlich nicht, nur sehen die meisten Compiler großzügig drüber hinweg.
|
Danke für den Hinweis. Aus der GGC-Doku bezüglich des Parameters -ansi:
Zitat :
| For the C compiler, it disables recognition of C++ style `//' comments as well as the inline keyword. |
Zitat :
|
Das für C korrekte Kommentar wird eingeleitet durch /* und beendet durch */, es kann mehrzeilig sein.
|
Den benutze ich bisher nur für mehrzeilige Kommentare, // ist für eine Zeile ausreichend (aber eben nicht erlaubt).
Offtopic :
| Diese Kommentare machen einem das Leben schwer, im AVR-Studio ; und /* */, in C nur /* */, in VHDL --, in Profan ' usw. usf. Wie soll man da noch durchblicken? |
|
BID = 629154
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
- Wall sollte es schon sein. -pedantic und -ansi lass vorerst weg.
Des Semikolon für Kommentare kenne ich übrigens von einigen Assemblern, der as (GNU) hat das auch so, akzeptiert aber wie der vom AVR Studio ebenfalls C-Präprozessor (ist ja auch klar, man kann den Präprozessor eigentlich über alle Dateien laufen lassen, der ist ja extern und interessiert sich garnicht für den Quellkode sondern nur für Direktiven, die an ihn gerichtet sind).
Den Doppelschrägstrich würde ich weglassen, das sieht nicht aus .
Das macht sich höchstens bei C++, wo man dann wiederum den C-Kommentar nutzen kann und darf ... ....
_________________
|
BID = 629208
bastler16 Schreibmaschine
Beiträge: 2140 Wohnort: Frankreich
|
Zitat :
| -Wall sollte es schon sein. -pedantic und -ansi lass vorerst weg. |
Alles klar, mach ich so.
So wie du es schreibst sind ja selbst die Compilerschalter case-sensitive...
Zitat :
| ist ja auch klar, man kann den Präprozessor eigentlich über alle Dateien laufen lassen, der ist ja extern und interessiert sich garnicht für den Quellkode sondern nur für Direktiven, die an ihn gerichtet sind). |
Ja, daran hab ich garnicht gedacht. Es ist ja der Präprozessor der die Kommentare durch Leerzeichen ersetzt, der Compiler/Assembler/... bekommt sie garnicht zu Gesicht.
Wenn du es jetzt noch schaffst die beliebigen Daten nach dem Bearbeiten mit dem Präprozessor auch compilieren/assemblieren zu lassen,
Zitat :
| Das macht sich höchstens bei C++, wo man dann wiederum den C-Kommentar nutzen kann und darf ... .... |
Sozusagen kommentartechnisch abwärtskompatibel...
Ich nehm einfach /* */, passt schon
Danke und guten Start in die neue Woche (letzte Ferienwoche )
|
BID = 629324
bastler16 Schreibmaschine
Beiträge: 2140 Wohnort: Frankreich
|
(OT spare ich mir jetzt mal, ist ja "mein" Fred)
So... , als eine Art "Rückmeldung":
Nachdem
-ich ein paar Headerdateien mit Prototypen eingebunden habe,
-die Switch-Case unter Default einen Returnwert bekommen haben (war unnötig da default eine Funktion aufruft welche einen Fehler meldet und wiederum exit(EXIT_FAILURE) aufruft),
-sleep ein großes S spendiert wurde (gibts wohl auch mit "s", ist aber nicht im windows.h deklariert),
-und GetLastError vor lauter Frust kurz und knapp als int gecastet wurde (laut Internet nimmt man %u für unsigned DWORD, aber das will der Compiler nicht: "300 [Warning] unsigned int format, DWORD arg (arg 2) ")
gibt es auch mit -Wall keine einzige Warnung mehr.
|
BID = 629352
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
Ist, wie ich sagte, ein stetiger Prozess. Und das klingt doch gut!
Du kannst parallel dazu z.B. auch AVRs mit C programmieren lernen, der Unterschied zu PC-Programmen ist marginal.
Und den Umgang mit GCC hast du ja auch mittlerweile. Der avr-gcc, den das AVR Studio nutzt ist exakt der gleiche, nur dass die Zielumgebung eine andere ist.
Also, ich wünsche dir viel Erfolg mit C!
So, muss Schluss machen, hab Besuch .
_________________
|
BID = 629354
bastler16 Schreibmaschine
Beiträge: 2140 Wohnort: Frankreich
|
Zitat :
DonComi hat am 24 Aug 2009 22:34 geschrieben :
|
Ist, wie ich sagte, ein stetiger Prozess. Und das klingt doch gut!
|
Danke
Zitat :
|
Du kannst parallel dazu z.B. auch AVRs mit C programmieren lernen, der Unterschied zu PC-Programmen ist marginal.
|
In ein paar Tagen geht das Studium weiter, da ist dann erstmal keine Zeit mehr zum Programmieren.
Was den AVR betrifft, früher oder später "ende" ich auch im C-Lager. Assembler ist ja schön und nett, aber nach ein paar tausend Zeilen hat man irgendwann die Nase voll. Außerdem ist das so verdammt fehleranfällig weil eben hardwarenah. Wir haben an der Uni für sehr kurze Zeit µCs durchgenommen und ein bisschen C programmiert, ist schon ein Unterschied zu ASM...
Mal sehen, C und ASM lassen sich ja auch verbinden.
Zitat :
| Also, ich wünsche dir viel Erfolg mit C! |
Nochmal Danke
Zitat :
|
So, muss Schluss machen, hab Besuch .
|
printf("Amusez vous bien\n");
edit: ich gehöre ins bett
[ Diese Nachricht wurde geändert von: bastler16 am 24 Aug 2009 22:49 ]
|
BID = 629372
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
Ich verbinde sowohl C- als auch AVR-ASM-Kode, das ist oft optimal.
Also ohne Assembler gehts bei mir oft nie, wenn es mal spezieller sein soll.
_________________
|
|
Zum Ersatzteileshop
Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum
Datenschutz
Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland
gerechnet auf die letzten 30 Tage haben wir 20 Beiträge im Durchschnitt pro Tag heute wurden bisher 36 Beiträge verfasst © x sparkkelsputz Besucher : 182425993 Heute : 5040 Gestern : 5459 Online : 315 29.11.2024 23:42 4 Besucher in den letzten 60 Sekunden alle 15.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
|
xcvb
ycvb
0.0460588932037
|