mikrocontroller.net

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


Autor: marc (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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ß

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
GCC

Autor: Peter II (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.microsoft.com/downloads/en/details.aspx...

dort ist der 32 und 64 bit windows compiler dabei ganz ohne gui

Autor: Serieller (Gast)
Datum:

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

Autor: Peter II (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Serieller (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: willibald (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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/...

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.

Autor: Mirko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Quicy 2005
Pelles C

Autor: Mirko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
natürlich Quincy (mit n)

Autor: Mark Brandis (markbrandis)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: willibald (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Mark Brandis (markbrandis)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Yalu X. (yalu) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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:
System Requirements

Development Tools. To build the C/C++ samples, you must have a C/C++
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.
uint32_t sqr(uint16_t x) {
  return x * x;
}

für x = 1000 auf einem 8/16- und einem 32-Bit-System unterschiedliche
Ergebnisse.

Autor: Peter II (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Yalu X. (yalu) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.