Ich bin auf der suche nach ein guten brauchbaren C Editor, zur übersichtlichen Programmierung von AVR Controllern. An AVR Studio stört mich, das es keine Auflistung der Funktionen gibt. Ich fand das Programm CodeWright Editor nicht schlecht von der Übersicht, aber leider ist das Programm von Markt. Was nimmt man heute für Editoren, also was ist weit verbreitet? Es braucht keine Freeware sein, aber ich will Freeware auch nicht ausschließen. Macht bitte Vorschläge.
Ein aktuelles eclpise ist mit dem aktuellen avr-plugin wirklich brauchbar. Kann man nur empfehlen!
Also ich such ein Editor, wo man den Compiler einbinden kann. Wichtig ist eine globale Suchfunktion und eine Outline Übersicht (das die Funtionen gelistet sind)
da bleibt eigendlich nur noch eclipse und Visual Studio übrig Edit: und Code::blocks
Code::Blocks kann ich nur empfehlen. Läuft sehr schnell, hat Code Completion und unterstützt jede Menge an C-Compilern. MfG Mark
Wenn wir schon dabei sind: Schau dir mal Sublime Text an. Grüße, Markus
Random ... schrieb:
> Notepad++ und makefile
Notepad ist ein super editor, aber zur IDE taugt er nicht.
die Funktionsliste ist grausig schlecht und auch die autocompletion
bezieht sich nur auf Wörter der aktuellen Datei
Mark P. schrieb: > Code::Blocks kann ich nur empfehlen. Läuft sehr schnell, hat Code > Completion und unterstützt jede Menge an C-Compilern. Ja, wenn man meint, ein so genanntes IDE undbedingt zu brauchen: Code::Blocks ist von allen, die ich kenne (Visual Studio, Eclipse, KDevelop, Anjuta und eben Code::Blocks) das am wenigsten nervende und kann trotzdem ziemlich viel. Der integrierte Texteditor ist IDE-typisch etwas mager geraten, da hat Eclipse mehr zu bieten.
Nimm doch das, was Du bereits hast: Edlin ist auch bei Windows 7 dabei.
C::B hatte ich einmal, sah furchtbar aus --> Baustelle.. Ich benutz den Standard-Texteditor unter KDE (KWrite bzw. Kate). Diese Ausklapplistendinger für Funktionen hab ich bisher nicht vermisst. Einerseits ist der Funktionsumfang von nacktem Ansi-C doch per se schon ziemlich gering, andrerseits muss ich, so ich irgendwelche Bibliotheken benutze, doch permanent in der Referenz nachschlagen. Da nützt mich der Funktionsprototyp grad wenig.
Sven P. schrieb: > Ich benutz den Standard-Texteditor unter KDE (KWrite bzw. Kate). > Diese Ausklapplistendinger für Funktionen hab ich bisher nicht vermisst. > Einerseits ist der Funktionsumfang von nacktem Ansi-C doch per se schon > ziemlich gering, andrerseits muss ich, so ich irgendwelche Bibliotheken > benutze, doch permanent in der Referenz nachschlagen. Da nützt mich der > Funktionsprototyp grad wenig. das kommt drauf an, wie gut man die Bibliotheken kennt. Wenn man schon oft mit der gearbeitet hat, reicht oft der Prototyp. Abgesehen davon wird normalerweise ja auch der Kommentar angezeigt. Dh, du bekommst annähern das gleiche zu sehen, wie in der Referenz steht, da die ja normalerweise aus den Kommentaren im Code generiert werden. Edit: Stichwort Javadoc oder Doxygen
Sven P. schrieb: > Ich benutz den Standard-Texteditor unter KDE (KWrite bzw. Kate). Mach ich auch des öfteren :-) > Einerseits ist der Funktionsumfang von nacktem Ansi-C doch per se schon > ziemlich gering, andrerseits muss ich, so ich irgendwelche Bibliotheken > benutze, doch permanent in der Referenz nachschlagen. Da nützt mich der > Funktionsprototyp grad wenig. Aber die (hoffentlich vorhandene) Doku zur Funktion ist meist überaus nützlich, und demnach ist eine IDE, mit der ich per Mausclick zum Prototypen und damit zur Dokumentation komme doch auch wieder nützlich und erspart das dauernde Rumgehample zwischen Browser (HTML-Doku), Texteditor und Konsole! Ich benutze Eclipse auch sehr gerne für C/C++-Entwicklung, eben weil dort alle (na ja, sagen wir besser: viele) Informationen zentral zugänglich sind. Bei Compilerfehlern ständig zwischen der make-Konsole und dem Source-Code-Fenster zu wechseln ist auf Dauer anstrengend und nervig, und wenns nur das ewige gewackel mit den Augen ist. Und schon bei kleineren Projekten (>~ 2000 SLOC) wird es außerordentlich nützlich, wenn man mit ein paar Clicks durch den Sourcecode navigieren kann. Nicht zu unterschätzen sind auch Features wie die "Call Hierarchy" - d.h. die Anzeige der Aufrufer einer Funktion - oder die Möglichkeit, ein Projekt nach Stellen zu durchforsten, an denen bestimmte Datentypen (Klassen!) verwendet werden. Auch wenn Eclipse CDT bei weitem nicht so gut ist wie JDT finde ich CDT sehr brauchbar und kann mit den derzeitigen Macken eigentlich ganz gut leben. Meine Empfehlung geht daher ganz klar in Richtung IDE, zumindest für alles, was mehr als ein Bastelprojekt werden oder bleiben soll. Viel Erfolg, Stephan
Naja, das dann wiederum kann selbst vim. Der öffnet dann in einem zweiten Puffer die Headerdatei mit der Deklaration (via ctags). Besonders hilfreich empfand ich das dennoch nie.
Ach, das wichtigste hab ich wie immer vergessen: Eine IDE mit kontextsensitiver Autovervollständigung für Sourcecode ist ein exzellentes Werkzeug. Da gehen selbst die dümmsten und nervigsten Codestücke ganz locker von der Hand. Und so soll es sein. Stephan
Sven P. schrieb: > Naja, das dann wiederum kann selbst vim. Der öffnet dann in einem > zweiten Puffer die Headerdatei mit der Deklaration (via ctags). > > Besonders hilfreich empfand ich das dennoch nie. Das würde ich auch nicht als hilfreich empfinden. Ich würde nur wild mit den Augen zwischen oben und unten hin- und herwackeln und nach einer Stunde mit Kopfweh heim gehen ;-) Gut, jedem sein Lieblingstierchen, es muss ja jeder selber wissen mit welchen Tools er am produktivsten arbeiten kann. Stephan
Sven P. schrieb: > Naja, das dann wiederum kann selbst vim. Der öffnet dann in einem > zweiten Puffer die Headerdatei mit der Deklaration (via ctags). > > Besonders hilfreich empfand ich das dennoch nie. Das glaube ich nicht. Belibiges Springen von einer Instanz zur Deklaration setzt genaue Kenntnis der Projektstruktur (includepfade, sourcepfade) voraus Das kann ein Editor prinzipbedingt also nicht können, da dieser nur die aktuelle Datei kennt und höchstens noch im selben Verzeichnis nach Includes suchen kann.
Vlad Tepesch schrieb: > Das kann ein Editor prinzipbedingt also nicht können, da dieser nur die > aktuelle Datei kennt [...] Na, die Frage ist dann wohl: Wo ziehe ich die Grenze zwischen Editor und IDE. Da vim mit ctags kooperieren kann, ist vim schon ein bissl mehr als das der gute alte Editor a la Notepad (hat Notepad die Beschränkung auf 64k eigentlich inzwischen überwunden? ;-) Selbst "einfache" Texteditoren wie Kate (-> KDE) können z.B. die in einer Sourcecodedatei definierten Symbole anzeigen. Die Frage ist halt immer, wie gut oder schlecht das im einzelnen funktioniert. Daran bemisst sich dann für mich auch die Brauchbarkeit dieser Features und damit auch meine Arbeitseffizienz. Stephan
Naja, bisher hatte ich mit folgenden Auswüchsen zu tun: Intellisense von Visual Basic: Alles klappt irgendwie irgendwo auf. Bei jedem Funktionsaufruf, den ich nicht im Kopf hatte/der mir nicht so sehr geläufig war, musste ich trotzdem in der Doku nachschlagen und Fehlerbedingungen etc. heraussuchen. Fehlermeldungen: Simpel und direkt. Intellisense von Visual C++: Tooltips waren recht chaotisch und man musste wieder die Maus bemühen, um zum richtigen Eintrag durchzuklicken. Fehlermeldungen: 1,5mal Fensterbreite für Pfad und irgendwelche Nummern, dahinter ein kurzer Fehlertext. Unnötig unübersichtlich, erst Recht, wenn noch der Template-Wahnsinn zuschlug. Lässt sich sicher irgendwie verkürzen, ist mir damals aber nicht gelungen. Hatte aber zugegebenermaßen auch schon bald keine Lust mehr, mich bei jedem Projekt aufs Neue durch die Konfiguration zu klicken, um dem Compiler etliche Erweiterungen und Trallalla auszuprügeln (strcpy_s...). VIM-Ding: Jo, für mich wenig hiflreich, sagte ich ja bereits. Letztlich bin ich immer wieder bei Kwrite/Kate gelandet -- da hab ich eine echte Konsole eingebettet. Die Fehlermeldungen vom GCC sind dank Filter (colorgcc und noch so eines, dessen Name mir entfallen ist) farbig und bei Template-Wahnsinn aufs Wesentliche verkürzt. Bei der Überzahl meiner Projekte muss ich ohnehin bei jedem Programmstart in eine leere Konsole wechseln, es sind halt überwiegend Konsolenprogramme.
Wenns nicht gratis sein muss (bzw. etwas teurer sein darf): SlickEdit. CodeWright...würg...den hab ich auf der Arbeit durch SlickEdit ersetzt.
> Die Fehlermeldungen vom GCC sind dank Filter (colorgcc und noch so > eines, dessen Name mir entfallen ist) farbig und bei Template-Wahnsinn > aufs Wesentliche verkürzt. Kannst du auf die Verkürzung nochmal eingehen? Wer produziert die und wie sieht sowas dann aus?
Nachtrag zu Notepad++: Das gibts auch als Portable fürn USB-Stick, sehr praktisch wenn man mal auswärts fremden Code anschauen soll. ;)
Rolf Magnus schrieb: > Kannst du auf die Verkürzung nochmal eingehen? Wer produziert die und > wie sieht sowas dann aus? Farbig machts colorgcc, hab das noch nicht genauer hinterfragt. Den Template-Wahnsinn erledigt das Dingen hier: http://www.bdsoft.com/tools/stlfilt.html Prinzipiell ein Perl-Skript. Aus dem Beispiel der Seite: GCC erzeugt:
1 | d:\src\cl\demo>c++2 rtmap.cpp |
2 | rtmap.cpp: In function `int main()': |
3 | rtmap.cpp:19: invalid conversion from `int' to ` |
4 | std::_Rb_tree_node<std::pair<const int, double> >*' |
5 | rtmap.cpp:19: initializing argument 1 of `std::_Rb_tree_iterator<_Val, _Ref, |
6 | _Ptr>::_Rb_tree_iterator(std::_Rb_tree_node<_Val>*) [with _Val = |
7 | std::pair<const int, double>, _Ref = std::pair<const int, double>&, _Ptr = |
8 | std::pair<const int, double>*]' |
9 | rtmap.cpp:20: invalid conversion from `int' to ` |
10 | std::_Rb_tree_node<std::pair<const int, double> >*' |
11 | rtmap.cpp:20: initializing argument 1 of `std::_Rb_tree_iterator<_Val, _Ref, |
12 | _Ptr>::_Rb_tree_iterator(std::_Rb_tree_node<_Val>*) [with _Val = |
13 | std::pair<const int, double>, _Ref = std::pair<const int, double>&, _Ptr = |
14 | std::pair<const int, double>*]' |
15 | E:/GCC3/include/c++/3.2/bits/stl_tree.h: In member function `void |
16 | std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::insert_unique(_II, |
17 | |
18 | _II) [with _InputIterator = int, _Key = int, _Val = std::pair<const int, |
19 | double>, _KeyOfValue = std::_Select1st<std::pair<const int, double> >, |
20 | _Compare = std::less<int>, _Alloc = std::allocator<std::pair<const int, |
21 | double> >]': |
22 | E:/GCC3/include/c++/3.2/bits/stl_map.h:272: instantiated from `void std::map<_ |
23 | Key, _Tp, _Compare, _Alloc>::insert(_InputIterator, _InputIterator) [with _Input |
24 | Iterator = int, _Key = int, _Tp = double, _Compare = std::less<int>, _Alloc = st |
25 | d::allocator<std::pair<const int, double> >]' |
26 | rtmap.cpp:21: instantiated from here |
27 | E:/GCC3/include/c++/3.2/bits/stl_tree.h:1161: invalid type argument of `unary * |
Woraus das Skript macht:
1 | d:\src\cl\demo>c++ rtmap.cpp |
2 | *** {BD Software Proxy c++ for gcc v3.01} STL Message Decryption is ON! *** |
3 | rtmap.cpp: In function `int main()': |
4 | rtmap.cpp:19: invalid conversion from `int' to `iter' |
5 | rtmap.cpp:19: initializing argument 1 of `iter(iter)' |
6 | rtmap.cpp:20: invalid conversion from `int' to `iter' |
7 | rtmap.cpp:20: initializing argument 1 of `iter(iter)' |
8 | stl_tree.h: In member function `void map<int,double>::insert_unique(_II, _II)': |
9 | [STL Decryptor: Suppressed 1 more STL standard header message] |
10 | rtmap.cpp:21: instantiated from here |
11 | stl_tree.h:1161: invalid type argument of `unary *' |
12 | |
13 | STL Decryptor reminder: |
14 | Use the /hdr:L option to see all suppressed standard lib headers |
Ich hab schon vieles ausprobiert. Ich verwende und empfehle: Eclipse
Hi ich arbeite mit VC6 (ja, genau über 10! Jahre alt) und VisualAssist X (http://www.wholetomato.com/). Das was das Plugin an Unterstützung während der Eingabe und der Navigation durch den Sourcecode bringt und vor allem in welcher Geschwindigkeit hab ich noch nirgendwo sonst gesehen. Eclipse + CDT bietet zwar ähnlichen Funktionsumfang ist aber im Vergleich dazu extrem träge. Matthias
Sven P. schrieb: > Rolf Magnus schrieb: > Aus dem Beispiel der Seite: > GCC erzeugt: >
1 | > ... |
2 | > |
> Woraus das Skript macht: >
1 | > ... |
2 | > |
Wie geil ist das denn. Ich frage mich eh wer sich diese kranken STL-Fehlermeldungen ausgedacht hat.
Fehlermeldungen dieser Art sind direkte Folge vom tollen Template-Sytem von C++.
Hi eben nicht wie das Skript zeigt geht es auch deutlich lesbarer. Matthias
Hi könnte man ja als Argument an den Compiler übergeben. -print-reduced-template-errors Leider hab ich keine Zeit dem GCC das beizubringen. Matthias
Hallo zusammen, ich habe ein ähnliches Problem wie der Thread-Starter; ich möchte gerne den IAR-Compiler nutzen, und da man diesen nicht von extern verwenden kann wie den GCC, möchte ich in der IAR-Workbench einen externen Editor verwenden. Welches empfehlenswerte Tool mit Autovervollständigung kann ich hier einbinden? robbse
> und da man diesen nicht von extern verwenden kann wie den GCC
Wieso sollte das nicht gehen?
>> und da man diesen nicht von extern verwenden kann wie den GCC >Wieso sollte das nicht gehen? Laut IAR-Support nicht möglich. Ich hab auch noch keine Tutorials dazu gefunden. Ist aber auch nicht schlimm, mit der IDE komm ich ja grundsätzlich klar, mir fehlt halt nur ein vernünftiges Intelli-Sense, welches alle eingebunden Dateien mit einschliesst.
Das dürfte ein Missverständnis sein. Sieh mal in das bin-Verzeichnis vom IAR, bei der MSP430-Version ist das <installationsverzeichnis>\430\bin Darin findest Du ein paar ausführbare Dateien, wie z.B. icc430.exe, a430.exe etc. (wenn Du einen anderen Controller als MSP430 verwendest, heißen die halt etwas anders) Und das sind Kommandozeilenprogramme, die sich mittels make oder auch aus einer Batchdatei heraus aufrufen lassen - und das wiederum ist die Grundlage für eine Integration in eine andere IDE. Was nicht funktionieren wird, ist der Gebrauch des Debuggers außerhalb der IAR-IDE, aber mit dem Compiler etc. geht das selbstverständlich.
OK, danke für den Hinweis; ich wollte aber trotzdem bei der IAR Workbench bleiben.
Wo ist Waldo schrieb: > Ich mag das "Programmer's Notepad 2"! Zustimmung! Listet die Funktionen, Makros und globalen Variablen der aktuellen Source-Datei auf und gcc sowie avrdude sind nur zwei Tastendrücke entfernt. Zusammen mit der Projekt-Funktion eigentlich schon eine IDE. Bekommt man alles schlüsselfertig und kostenlos als WinAVR. Servus Michael
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.