Forum: PC-Programmierung C-Compiler ohne schnick-schnack


von marc (Gast)


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ß

von Max (Gast)


Lesenswert?

GCC

von Peter II (Gast)


Lesenswert?


von Serieller (Gast)


Lesenswert?

Ich benutze dafür den TCC (Tiny C Compiler). 1,07 MB installiert inkl. 
Doc und Examples.

von Peter II (Gast)


Lesenswert?

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?

von Serieller (Gast)


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...

von willibald (Gast)


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.

von Mirko (Gast)


Lesenswert?

Quicy 2005
Pelles C

von Mirko (Gast)


Lesenswert?

natürlich Quincy (mit n)

von Mark B. (markbrandis)


Lesenswert?

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?

von willibald (Gast)


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.

von Mark B. (markbrandis)


Lesenswert?

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.

von Yalu X. (yalu) (Moderator)


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.

von Peter II (Gast)


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

von Yalu X. (yalu) (Moderator)


Lesenswert?

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
Noch kein Account? Hier anmelden.