welchen c Compiler?

OP #4193119
Lesenswert?

.

Hab mir das Buch "C programmieren" von Guido Krüger angelacht (Ein Kurs 
zum Selbststudium mit Musterlösungen) und möchte nun ein wenig 
reinschnuppern (Ziel: die Beispiele um den AVR verstehen).
Dazu ist ein Compiler für den PC hilfreich (W7/64).
Welchen würdet ihr mir empfehlen?

 Kurt
Gast #4193440
Lesenswert?

Ich habe mich auch heute mit einer IDE befasst.

Leider musste ich feststellen, dass alles mit GCC für die Tonne ist. 
Letzte Updates von Dev-C++ oder Code:Blocks liegen Jahre zurück. Und 
genau so funktionieren Sie auch.
Z.B. musste ich feststellen, das bei Code:Blocks das Debuggen nicht 
funktioniert: Danke.

Ich sags ungern aber es stimmt: Wenn Du damit (vernünftig) arbeiten 
willst, dann kommt nur das Visual Studio von Microsoft in Frage.

Gruss Klaus.
#4193474
Lesenswert?

Klaus schrieb:
> Ich habe mich auch heute mit einer IDE befasst.
>
> Leider musste ich feststellen, dass alles mit GCC für die Tonne ist.
> Letzte Updates von Dev-C++ oder Code:Blocks liegen Jahre zurück. Und
> genau so funktionieren Sie auch.
> Z.B. musste ich feststellen, das bei Code:Blocks das Debuggen nicht
> funktioniert: Danke.
>
> Ich sags ungern aber es stimmt: Wenn Du damit (vernünftig) arbeiten
> willst, dann kommt nur das Visual Studio von Microsoft in Frage.
>
> Gruss Klaus.

Wovon redet der Mensch? Was hat die IDE mit dem Compiler zu tun? Nimm 
doch Eclipse, Netbeans, KDevelop, eine der anderen 100 IDE oder 
puristisch einen Texteditor.

Gruß
Dennis
#4193677
Lesenswert?

Klaus schrieb:
> Leider musste ich feststellen, dass alles mit GCC für die Tonne ist.

Wie du wohl richtig erkannt haben musst gibt es keine guten IDEs, da in 
jeder IDE der gcc verwendet werden kann. Der GCC ist einfach zu gut für 
IDEs.

> Letzte Updates von Dev-C++ oder Code:Blocks liegen Jahre zurück.
Falsch. Zitat von http://sourceforge.net/projects/orwelldevcpp/ :
 "Last Update: 2015-04-27"

> Ich sags ungern aber es stimmt: Wenn Du damit (vernünftig) arbeiten
> willst, dann kommt nur das Visual Studio von Microsoft in Frage.

Ein grauenhaftes Produkt. Total überladen, und mit den typischen 
"MS-Featuren".

Was einzig wahre ist: Linux + makefile + kate + git + bash + gcc 
(mingw).
#4193691
Lesenswert?

Tom schrieb:
> Kann das inzwischen C99?

Der Compiler von Visual Studio ist in erster Linie ein C++ Compiler und 
kann dort die meisten Features von C++14. In C++14 gibts natürlich nicht 
alles was es in C gibt. Dazu zählen schonmal flexible array members und 
variable-lenght arrays aber sonst? Welches Feature vermisst du jetzt 
genau?

Daniel A. schrieb:
> Ein grauenhaftes Produkt. Total überladen, und mit den typischen
> "MS-Featuren".

Was bitte sind "MS-Featuren"? Nenn mir bitte mal ein solches Feature. 
Aber bitte nicht sowas wie "Ist mir zu bunt" oder "Startet zu langsam" 
sondern irgendwas qualitativ schlechtes am Compiler. Grafische 
Oberflächen sind nunmal Geschmackssache und das es überladen ist stimme 
ich zu.
#4193731
Lesenswert?

Sebastian V. schrieb:
> Tom schrieb:
>> Kann das inzwischen C99?

> Der Compiler von Visual Studio ist in erster Linie ein C++ Compiler und
> kann dort die meisten Features von C++14. In C++14 gibts natürlich nicht
> alles was es in C gibt. Dazu zählen schonmal flexible array members und
> variable-lenght arrays aber sonst? Welches Feature vermisst du jetzt
> genau?

Nanana, immer langsam mit den jungen Pferden:
- Soweit ich weiß, sind variable-length arrays nicht Teil des C++ 
Standards, auch vom VS werden sie nicht unterstützt (vom GCC schon)
https://msdn.microsoft.com/en-us/library/zb1574zs(v=vs.140).aspx

- VS 2015 ist noch nicht erschienen ( der Release Candidate crasht noch 
ganz gerne und unterstützt einige C++14 Features nur teilweise oder gar 
nicht)
http://blogs.msdn.com/b/vcblog/archive/2015/04/29/c-11-14-17-features-in-vs-2015-rc.aspx

- C++11 wird vom Syntax-highlighting bzw Intellisense (zumindest) in 
VS2013 nicht unterstützt, auch im VS2015 fehlt zumindest vollständiger 
support von constexpr

- OpenMP ist bei Version 2.0 stehen geblieben (aktuell Version 4.0) - 
gilt auch für VS015!
Gast #4193742
Lesenswert?

Das Problem mit den Bastellösungen rund um den GCC ist, dass man oftmals 
ewig rumsuchen/machen muss, bis die einfachsten Dinge funktionieren.
Das ist beim Visual Studio nicht der Fall.

Hier noch eine kleine Suche zu meinem zuvor genannten Debug-Problem bei 
Code-Blocks:
https://www.google.de/?gws_rd=ssl#q=codeblocks+debug+breakpoint+problem&tbs=qdr:y

Das kann man sicherlich lösen. Zuvor liest man sich aber ertmal einen 
Tag ein. Und dann weiss man nicht, was als nächstes kommt.

Gruß Klaus
Gast #4193753
Lesenswert?

Hallo,

ich habe damals auch den Fehler gemacht und direkt mit einer IDE 
begonnen, da die Profs das halt so lehren. Wenn ich wieder mit dem 
Programmieren starten würde, würde ich mich erst einmal mit dem Thema 
makefiles beschäftigen und den Code mit einem einfachen Texteditor 
schreiben. Wenn man dann versteht, was hinter make und so steckt kann 
man immer noch auf eine IDE wechseln.
Ansonsten gibt es nicht die "EINE" IDE. Code::Blocks, Eclipse oder auch 
die Qt Umgebung haben so ihre Vor und Nachteile. Einfach testen.
Und wenn du nen AVR programmieren willst wirst du wohl kaum um den GCC 
herumkommen
Gast #4193853
Lesenswert?

Klaus schrieb:
> Wenn Du damit (vernünftig) arbeiten
> willst, dann kommt nur das Visual Studio von Microsoft in Frage.
Dem kann ich mich soweit anschließen, als dass es mit dem Programmieren 
erst geklappt hat, als das Visual-C++ (damals noch) hatte. Wenn du nicht 
das Hackergefühl brauchst, alles über Kommandozeile und reinen 
Texteditor zu machen, ist das auf jeden Fall eine brauchbare Lösung.
#4193931
Lesenswert?

Kurt sucht einen C-Compiler.

Dussel schrieb:
> Visual-C++

ist da leider keine Lösung. C-Compiler wird von MS kaum 
weiterentwickelt, und ist entsprechend zurückgebleiben. MS konzentriert 
sich rein auf den C++-Compiler.

Und nein, daß ist nicht das gleiche, und es ist auch nicht der selbe 
Compiler.

Und da der Sinn der ganzen Übung später mal die AVR-Programmierung ist, 
die sowieso auf dem gcc voraussetzt, warum nicht gleich gcc.

Die Vorstellung, Programmieren ginge ohne selber denken nur mit 
out-of-the box clicki-bunti-tools, ist eh realitätsfremd.

Oliver
Gast #4194089
Lesenswert?

Oliver S. schrieb:
> Dussel schrieb:
>> Visual-C++
> ist da leider keine Lösung.
Das war es damals. Inzwischen ist es zu Visual Studio geworden oder 
davon abgelöst worden. Visual Studio hat auch einen C-Compiler. Wenn du 
sagst, der sei veraltet, nehme ich das mal so hin. Für mich hat es 
gereicht.

Oliver S. schrieb:
> Die Vorstellung, Programmieren ginge ohne selber denken nur mit
> out-of-the box clicki-bunti-tools, ist eh realitätsfremd.
Wenn du damit meinst, dass diese das Programmieren nicht übernehmen, 
hast du natürlich recht. Wenn du allerdings meinst, professionell 
Programmieren ginge ausschließlich mit IDEs nicht, bestätigt das die bei 
dir angenommene fehlende Qualifikation, die sich aus der Wortwahl 
"clicki-bunti-tools" erahnen lässt.
OP #4194503
Lesenswert?

Oliver S. schrieb:
> Kurt sucht einen C-Compiler.
>
> Dussel schrieb:
>> Visual-C++
>
> ist da leider keine Lösung. C-Compiler wird von MS kaum
> weiterentwickelt, und ist entsprechend zurückgebleiben. MS konzentriert
> sich rein auf den C++-Compiler.
>
> Und nein, daß ist nicht das gleiche, und es ist auch nicht der selbe
> Compiler.
>
> Und da der Sinn der ganzen Übung später mal die AVR-Programmierung ist,
> die sowieso auf dem gcc voraussetzt, warum nicht gleich gcc.
>
> Die Vorstellung, Programmieren ginge ohne selber denken nur mit
> out-of-the box clicki-bunti-tools, ist eh realitätsfremd.
>

Hallo Leute, erstmal bin ich ein wenig erschlagen, so viele Begriffe die 
mir nichts sagen, ich nicht kenne.

Mein Einstieg in C wäre so angedacht.
Erstmal "Hallo hier bin ich", und einen Zähler der hochzählt, auf den 
PC-Schirm bringen. (mit Hilfe des vorhandenen Buches).
Klappt das einigermassen dann der Sprung um AVR

Wie die grob funktionieren ist mir bekannt (BASCOM und ein wenig 
Hardwareverständnis), es geht also darum den Übergang/Aufsprung zu C zu 
finden und mit einem Auge dann auf die AVRs rüber zu schielen.

(für mich heisst alles was ich brauche um den Text auf den Schirm zu 
bringen Compiler, was das im einzelnen ist das versuche ich 
rauszukriegen)

 Kurt
#4194541
Lesenswert?

Kurt B. schrieb:
> (für mich heisst alles was ich brauche um den Text auf den Schirm zu
> bringen Compiler, was das im einzelnen ist das versuche ich
> rauszukriegen)

Der Compiler ist das Programm, welches den Quellcode zu einem 
ausführbaren Programm übersetzt (etwas vereinfacht). Außer einem 
Compiler brauchst du dann noch einen Editor in welchem du den Quellcode 
schreibst, aber das kann so ziemlich alles sein. Von irgendwas ganz 
einfachem bis zur kompletten Entwicklungsumgebung mit "klicki-bunti" 
Features. Was dir lieber ist musst du selbst wissen. Da hat sowieso 
jeder seine persönlichen Vorlieben.
Gast #4194593
Lesenswert?

Kurt B. schrieb:
> Oliver S. schrieb:
>> Kurt sucht einen C-Compiler.
>>
>> Dussel schrieb:
>>> Visual-C++
>>
>> ist da leider keine Lösung. C-Compiler wird von MS kaum
>> weiterentwickelt, und ist entsprechend zurückgebleiben. MS konzentriert
>> sich rein auf den C++-Compiler.
>>
>> Und nein, daß ist nicht das gleiche, und es ist auch nicht der selbe
>> Compiler.
>>
>> Und da der Sinn der ganzen Übung später mal die AVR-Programmierung ist,
>> die sowieso auf dem gcc voraussetzt, warum nicht gleich gcc.
>>
>> Die Vorstellung, Programmieren ginge ohne selber denken nur mit
>> out-of-the box clicki-bunti-tools, ist eh realitätsfremd.
>>
>
> Hallo Leute, erstmal bin ich ein wenig erschlagen, so viele Begriffe die
> mir nichts sagen, ich nicht kenne.
>
> Mein Einstieg in C wäre so angedacht.
> Erstmal "Hallo hier bin ich", und einen Zähler der hochzählt, auf den
> PC-Schirm bringen. (mit Hilfe des vorhandenen Buches).
> Klappt das einigermassen dann der Sprung um AVR
>
> Wie die grob funktionieren ist mir bekannt (BASCOM und ein wenig
> Hardwareverständnis), es geht also darum den Übergang/Aufsprung zu C zu
> finden und mit einem Auge dann auf die AVRs rüber zu schielen.
>
> (für mich heisst alles was ich brauche um den Text auf den Schirm zu
> bringen Compiler, was das im einzelnen ist das versuche ich
> rauszukriegen)
>
>  Kurt

Wenn es nur Konsole sein soll (DOS-Prompt) nimm den GCC der ist dann 
auch beim AVR mit makefile usw. identisch.
Kannst Du sogar so als crosscompiler einrichten das ein einfaches Flag 
von PC auf AVR umschaltet.
Nur bedenke das ein printf für Textausgabe beim PC nicht so zuschlägt 
(Speichertechnisch) wie beim AVR.
Einen Texteditor mit Syntaxhervorhebung ist z.B. der ProgrammersNotepad 
der beim WinAVR = AVR-GCC mit dabei ist.
Programmiert wird dann der AVR via avrdude und den makefile 
Einstellungen.
Da mußt Du Dich etwas mehr einarbeiten als beim AVR-Studio und 
MS-Visual-Studio.
Du kannst aber auch mit etwas mehr klicken in Visual-Studio den AVR oder 
GCC compiler einbinden.
Allerdings machen makefiles mehr Sinn, da sie direkter sind.
Lade Dir einfach mal alle runter und teste was Dir am besten gefällt:

http://winavr.sourceforge.net/download.html
http://www.atmel.com/tools/atmelstudio.aspx
https://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx
http://www.qt.io/download/

Sind alle Freeware.
OP #4195299
Lesenswert?

xyz schrieb:
> Ja was willst Du nun programmieren den PC oder den AVR ?
> PC z.B. MS-Visual-Studio oder QT-Creator.
> AVR z.B. Atmelstudio oder AVR-GCC (WinAVR)

Also, ich hab mir das ATMEL-Studio6 (10.0) runtergeladen, jetzt kommt 
nach Aufruf: die Start Page AtmelStudio, der Reiter: Get Started ist 
aktiv.

Bereitgelegt habe ich mir einen MEGA 328P auf Arduino Pro Mini auf einer 
Platine, dieser hat eine LED an PB5.
Diese möchte ich mit Hilfe von C zum blinken animieren, vorhanden ist 
ein Proger der über USB-COM mit Hilfe eines STK500 native Driver den 
Mega progen kann.
Mit BASCOM habe ich das im Griff, somit kann ich jederzeit kontrollieren 
ob die Hardware in Ordnung ist.

Was muss ich dem Atmel Studio nun alles sagen damit es mir den Editor 
bereitstellt damit ich die ersten Zeilen reinschreiben kann?


 Kurt
Gast #4195468
Lesenswert?

Kurt B. schrieb:
> xyz schrieb:
>> Ja was willst Du nun programmieren den PC oder den AVR ?
>> PC z.B. MS-Visual-Studio oder QT-Creator.
>> AVR z.B. Atmelstudio oder AVR-GCC (WinAVR)
>
> Also, ich hab mir das ATMEL-Studio6 (10.0) runtergeladen, jetzt kommt
> nach Aufruf: die Start Page AtmelStudio, der Reiter: Get Started ist
> aktiv.
>
> Bereitgelegt habe ich mir einen MEGA 328P auf Arduino Pro Mini auf einer
> Platine, dieser hat eine LED an PB5.
> Diese möchte ich mit Hilfe von C zum blinken animieren, vorhanden ist
> ein Proger der über USB-COM mit Hilfe eines STK500 native Driver den
> Mega progen kann.
> Mit BASCOM habe ich das im Griff, somit kann ich jederzeit kontrollieren
> ob die Hardware in Ordnung ist.
>
> Was muss ich dem Atmel Studio nun alles sagen damit es mir den Editor
> bereitstellt damit ich die ersten Zeilen reinschreiben kann?
>
>
>  Kurt

Wenn Du einen Arduino hast müßte doch eigentlich alles direkt via USB 
und der Arduino Suite gehen ?
Oder hast Du sinnfrei einen Mega328p mit geflashtem Arduino geholt ?
Was auch immer wie schon erwähnt den passenden Programmer (STK500) und 
den richtigen AVR auswählen wenn Du ein neues Projekt erstellst.
Dann lies mal sicherheitshalber das Flash aus.
Wenn das klappt ist alles richtig eingestellt.
Danach den Testcode im AtmelStudio reintippen, compilieren und wenn 
keine Fehler auftreten flashen.
Viel Spaß mit der blinkenden LED, schade das Weihnachten vorbei ist.
#4196253
Lesenswert?

Sebastian V. schrieb:
> Matthias H. schrieb:
>> Nanana, immer langsam mit den jungen Pferden:
>> - Soweit ich weiß, sind variable-length arrays nicht Teil des C++
>> Standards, auch vom VS werden sie nicht unterstützt (vom GCC schon)
>> https://msdn.microsoft.com/en-us/library/zb1574zs(v=vs.140).aspx
>
> Ich hab ja auch nichts anderes behauptet.

Mir ist auch grad aufgefallen, das ich das "nicht" überlesen habe, sorry 
dafür :)

bluppdidupp schrieb:
> Da besteht erstaunlicherweise scheinbar auch kein so großer Bedarf - Hat
> aktuell kaum Votes:
> 
http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/6216349-update-your-openmp-support-to-openmp-3-1

Da hast du leider recht. Akademische Software läuft manchmal nicht auf 
Windows (und zwar aus diesem und ähnlichen Gründen). Zum Glück hat sich 
mit C++11 punkto Parallelisierung einiges getan, dodass OpenMP fast 
gänzlich durch Sprachfeatures ersetzt werden kann.
#4196966
Lesenswert?

https://xkcd.com/378/
> Real programmers set the universal constants at the start
> such that the universe evolves to contain the disk with the
> data they want.


Atmel Studio basiert auf Visual Studio, kann also nicht verkehrt sein, 
sich an C mit dem Visual Studio Express zu gewöhnen und ein paar 
Konsolenprogramme als Programmierübungen zu machen.

https://projecteuler.net/ bietet sich für sowas zB an
Angehängte Dateien:

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