PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Welcher C-Compiler ist der beste ?



Roberto
01.05.2007, 23:37
Hallo Leute

Ich habe derzeit immer in Bascom programmiert und möchte jetzt auf C umsteigen (AVR)
WinAVR habe ich mir schon gesaugt.
Möchte da aber noch abchecken, ob es vielleicht bessere Programme für C gibt. (die nicht all zu teuer sind ;-) )

Habe da auch einen Tipp für das Programm : "Code Vision" bekommen.
https://secure-dataline.com/4ahead_3/shop.aspx?PageID=185
Kennt das vielleicht jemand?

Könnt Ihr mir vielleicht Tipps geben, was den so für Programme gut zum C programmieren sind?
Vielleicht mit Vorteilen/Nachteilen ? :-)

Vielleicht gibt es da auch was mit Simulator ?

Würde mich freuen, wenn Ihr mir da ein paar Tipps geben könntet :-)

l.G. Roberto

Hubert.G
02.05.2007, 08:42
Also wenn du dir für WinAVR noch einen JTAG-Debugger besorgst, hast du für den nicht-kommerzbereich alles was du brauchst.
Mein Junior hat wärend des Studiums "Code-Vision" verwendet und war sehr zufrieden damit. Ein Arbeitskollege hat wärend der Abendschule den "Keil-Compiler" verwendet und gemeint das wäre der Beste.
Aber alles eine Sache der Ansicht und Gewöhnung. Ich sage immer: Etwas weniger Gutes bei dem man sich gut auskennt und alles nutzen kann ist sicher besser als etwas sehr gutes bei dem man sich nicht auskennt und daher auch nicht nutzen kann.
Daher ist nicht nur aus kostengründen WinAVR für mich der Faforit.
Hubert

SIGINT
02.05.2007, 15:09
Um WinAVR kommt man im Hobbybereich nicht drum herum. Das hat einfache Gründe:
1) WinAVR ist OpenSource und damit kostenlos/preiswert verfügbar
2) WinAVR versucht sich an bestehende Standards zu halten (ANSI C99)
3) Die GCC ist für diverseste Platformen erhältlich... das Teil ist wahrscheinlich für alles erhältlich, was Nullen und Einsen verarbeiten kann ;)
4) Die GCC ist DIE Compiler Toolsuite für quasi alle Linux-Systeme
5) Viele Projekte sind im Netz für den AVR-GCC verfügbar

Leider ist die Einarbeitung sehr viel aufwändiger als bei anderen Compilern, aber es lohnt sich.

Gruß,
SIGINT

Roberto
02.05.2007, 15:42
Hallo

Danke für die Antworten! O:)

Andere Frage als Neuling.

In wieweit kann man den in C Funktionen Definieren (z.B. Abläufe die immer gleich sind.wie z.B. I2C Ausgabe,LCD Ausgabe u.s.w.) die man dann in das Programm einbinden kann ?

Geht es da mit manchen Compilern leichter und mit manchen schwerer ?

Sonst müsste man immer alles neu Programmieren....

In Bascom gibt es da ja auch so Funktionen, die brauchen dann aber immer recht viel Speicher..

l.G. Roberto

Felix G
02.05.2007, 16:38
Also Funktionen definiert man immer gleich, das ist compilerunabhängig (falls das für irgendeinen Compiler nicht gelten sollte ist er müll, da nicht zum C-Standard kompatibel)


int blablubb(int a, char b, long* toast)
{
... der code halt ...
return irgendeinrückgabewert;
}

wobei diese Funktion dann 3 Parameter erwartet (einen vom Typ Char, einen vom Typ int und einen Zeiger auf eine Variable vom Typ long), und einen Wert vom Typ int zurückgibt.


Das einzige was von Compiler zu Compiler unterschiedlich sein kann, sind die zusätzlich mitgelieferten Bibliotheken. Die C-Standardbibliothek haben alle, aber manche die für Mikrocontroller gedacht sind haben darüberhinaus noch weitere Bibliotheken (z.B. mit fertigen Funktionen für I²C oder ähnliche µC-spezifische Dinge)

bluelight_electronic
23.06.2007, 15:05
hi,

also .. laut Atmel ist für die AVRs der IAR Compiler der Besste .. da Atmel mit IAR direkt den Core Entwickelt hat (wird bei den XMegas noch imenser sein)

der IAR ist echt ein schönes tool .. kostet leider sehr viel...Bugs vom Compiler dauern relativ lang bis sie Behoben werden (bis zu 2 Wochen)


dann Arbetitet Atmel natürlich noch an ihrem GCC leider ist dort eben kaum Support da... sprich ein Bug dauert relativ lang bis er Behoben wird .. vorteil halt Kostenlos


dann den ICC von Imagecraft .. dieser wird von Atmel auch als "gut" beschrieben. Vom Code den er Ausgibt ist er zwar etwas schlechter als der IAR aber troztdem noch sehr gut. Die Standart Version kostet irgendwas um die 150€ Bugs gibt es zwar immer wieder .. aber werden über die Mailingliste in Max 2 Tagen behoben in dieser hinsicht echt Unschlagbar

CodeVision hat einen vorteil .. er hat einen Code Wizard -> was für Anfänger die sache arg erleichtert. Was unschön ist ist der Code .. im Vergleich zu GCC, IAR und ICC ist er eher Schlecht...


was z.b. bei ALLEN Compilern immer unterschiedlich ist sind z.b. die Interrupt Aufrufe ..

Prinzipiell für Private Anwendungen ist ein GCC ein super Tool

Kommerziell würd ich eher auf ICC oder IAR Tendieren...


den "perfekten" Compiler gibt es nicht...

CaTiO
24.09.2008, 13:02
Von IAR gib es noch eine Kostenlose version für Privatanwender:


KickStart edition of IAR Embedded Workbench

The kickstart editioin of IAR Embedded Workbench is completely free of charge and you may use it for as long as you want. The kickstart tools are ideal for creating small applications or for getting started fast on a new project. The only requirement is that you register to get a license key.
Contents

The kickstart edition is a code size limited but fully functional integrated development environment including project manager, editor, compiler, assembler, linker, librarian and debugger tools. A complete set of user guides is included in PDF format.
Limitations

The kickstart edition corresponds to the latest release of the full edition of IAR Embedded Workbench, with the following exceptions:
• It has a code size limitation.
• It does (normally) not include source code for runtime libraries.
• It does not include support for MISRA C.
• Very limited Technical Support.
Upgrade path

A complete upgrade path is available from IAR Systems; please contact your sales office or software distributor for information.

zu finden unter: http://www.iar.com/website1/1.0.1.0/675/1/index.php
(dann die Plattform wählen)


Ich habe es aber nochnicht ausprobiert...
sieht aber gut aus.