C-Programmierung: Float in Int umwandeln

Im Unterforum Off-Topic - Beschreibung: Alles andere was nirgendwo reinpasst

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 29 11 2024  22:38:16      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Off-Topic        Off-Topic : Alles andere was nirgendwo reinpasst

Gehe zu Seite ( Vorherige Seite 1 | 2 )      


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.


_________________


Vorherige Seite      
Gehe zu Seite ( Vorherige Seite 1 | 2 )
Zurück zur Seite 0 im Unterforum          Vorheriges Thema Nächstes Thema 


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 19 Beiträge im Durchschnitt pro Tag       heute wurden bisher 34 Beiträge verfasst
© x sparkkelsputz        Besucher : 182425788   Heute : 4835    Gestern : 5459    Online : 397        29.11.2024    22:38
5 Besucher in den letzten 60 Sekunden        alle 12.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0391190052032