Hallo, bin vermutlich zu doof zum suchen... Ich suche ein C Compiler für XP und Windows 7 welcher ohne große Entwicklungsumgebung auskommt. Hintergrund ist, dass ich einfach diverse Codeabschnitte erstmal auf dem Rechner in der Kommandozeile ausprobieren möchte ohne ein ganzes Projekt zu Compilieren und auf einen µC zu Flashen. Gruß
http://www.microsoft.com/downloads/en/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en dort ist der 32 und 64 bit windows compiler dabei ganz ohne gui
Ich benutze dafür den TCC (Tiny C Compiler). 1,07 MB installiert inkl. Doc und Examples.
Serieller schrieb: > Ich benutze dafür den TCC (Tiny C Compiler). 1,07 MB installiert inkl. > Doc und Examples. und was für libs sind dabei? Denn schon die glibc ist größer als 1Mbyte. Oder ist es wirklich nur der Compiler?
Da ist eine eigene TCC Library dabei. Bevor Mistverständnisse entstehen: Man kann mit dem TCC Programme erzeugen, die unter MS Windows laufen. Konsolenprogramme und GUI-Programme. TCC ist bestimmt nicht für jeden, deshalb habe ich geschrieben: Ich benutze dafür...
marc schrieb: > Ich suche ein C Compiler für XP und > Windows 7 welcher ohne große Entwicklungsumgebung auskommt. > Hintergrund ist, dass ich einfach diverse Codeabschnitte > erstmal auf dem Rechner in der Kommandozeile ausprobieren möchte Gerade bei sowas leistet eine Entwicklungsumgebung mit integriertem Debugger unschätzbare Hilfe. Ich empfehle Visual C++ 2010 Express. Kostenloser Download hier: http://www.microsoft.com/germany/express/download/default.aspx Du kannst natürlich auch MinGW nehmen und irgendeine IDE drüberstülpen (Code::Blocks oder Eclipse oder was auch immer). Aber ganz ohne IDE gewinnst du nicht viel. Andere Frage, für welchen µC soll das am Ende sein? Ich frage deshalb, weil es gewisse Dinge zu beachten gibt, wenn man Code auf einem 32-Bit-Prozessor testet, der dann später auf 8- oder 16-Bittern laufen soll. Also, wenn das Zielsystem AVR oder sowas ist, und wenn du nicht fit bist im Schreiben von portablem Code, dann vielleicht doch besser ein natives Entwicklungssystem mit Simulator verwenden, z.B. AVRStudio.
MinGW (enthält gcc als compiler): http://www.mingw.org/ > Andere Frage, für welchen µC soll das am Ende sein? Ich frage deshalb, > weil es gewisse Dinge zu beachten gibt, wenn man Code auf einem > 32-Bit-Prozessor testet, der dann später auf 8- oder 16-Bittern laufen > soll. Was denn genau, außer die stdint.h zu inkludieren und eben uint16_t etc. zu verwenden?
Mark Brandis schrieb: > MinGW (enthält gcc als compiler): http://www.mingw.org/ > >> Andere Frage, für welchen µC soll das am Ende sein? Ich frage deshalb, >> weil es gewisse Dinge zu beachten gibt, wenn man Code auf einem >> 32-Bit-Prozessor testet, der dann später auf 8- oder 16-Bittern laufen >> soll. > > Was denn genau, außer die stdint.h zu inkludieren und eben uint16_t etc. > zu verwenden? Na ja, da fängts schon an. Implizite Annahmen über die Größen von Zeigern und von Integer-Variablen, über Speicherlayout, Alignment und Padding. Man muss schon über jede Zeile Code, die man schreibt, einmal mehr nachdenken. Hast du noch nie gesehen, dass jemand mal eben hingekritzelt hat int * array = malloc (n * 4); // blinde Annahme: sizeof (int) == 4 anstatt ... malloc (n * sizeof (*array)), wie es richtig wäre? Jetzt kannst du sagen, "jaha, das sind ja auch Fehler, wenn man sich nicht an die Regeln hält". Richtig, aber um solche Fehler zu vermeiden, muss man die Regeln kennen. Und genau darauf zielte meine Frage ab.
Nun, auf (kleinen) Embedded Systemen wird oft keine dynamische Speicherverwaltung eingesetzt, aber grundsätzlich hast Du schon recht: Solche Fallstricke muss man natürlich kennen wenn man in C programmiert.
Peter II schrieb: > http://www.microsoft.com/downloads/en/details.aspx... > > dort ist der 32 und 64 bit windows compiler dabei ganz ohne gui Der Compiler ist noch nicht mit dabei, wenn ich folgenden Abschnitt richtig interpretiere:
1 | System Requirements |
2 | |
3 | Development Tools. To build the C/C++ samples, you must have a C/C++ |
4 | compiler. |
1,3 MB wäre für MS-Verhältnisse auch etwas arg wenig für eine komplette Toolchain einschließlich Basisbibliotheken ;-) Mark Brandis schrieb: >> Andere Frage, für welchen µC soll das am Ende sein? Ich frage deshalb, >> weil es gewisse Dinge zu beachten gibt, wenn man Code auf einem >> 32-Bit-Prozessor testet, der dann später auf 8- oder 16-Bittern laufen >> soll. > > Was denn genau, außer die stdint.h zu inkludieren und eben uint16_t etc. > zu verwenden? Ganz so einfach ist es nicht. Die Variablen haben damit zwar eine fest- gelegte Bitbreite, nicht aber die Rechenoperationen, da diese immer mit mindestens der Breite von int erfolgt. So liefert bspw.
1 | uint32_t sqr(uint16_t x) { |
2 | return x * x; |
3 | }
|
für x = 1000 auf einem 8/16- und einem 32-Bit-System unterschiedliche Ergebnisse.
Yalu X. schrieb: > 1,3 MB wäre für MS-Verhältnisse auch etwas arg wenig für eine komplette > Toolchain einschließlich Basisbibliotheken ;-) ist ja auch nur der Webinstaller - der rest wird bei der installtion gezogen. Also bei mir ist der compiler dort mit dabei, ich habe das PlatformSDK 6.1
Peter II schrieb: > ist ja auch nur der Webinstaller - der rest wird bei der installtion > gezogen. Ach so. Ok, für einen Web-Installer sind 1,4 MB angemessen ;-) Aber wieso steht dann der Compiler bei den Requirements? Da würde ich als unbedarfter Neueinsteiger denken, ich müsste den schon vorher installieren.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.