C-Compiler ohne schnick-schnack

Gast #2103736
Lesenswert?

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ß
Gast #2103794
Lesenswert?

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...
Gast #2103881
Lesenswert?

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.
Gast #2104035
Lesenswert?

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.
Moderator #2104141
Lesenswert?

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.
Gast #2104167
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren