Wie am besten C - Programmierung auf frischen



  • Hallo,

    arbeitete nach dem Studium ( Nachrichtentechnik ) in der Hardware Entwicklung und schrieb auch Testprogramme in Microsoft C.
    Arbeitete danach auch mit Borland C.

    Danach etwa 12 Jahre eher nur mit UNIX Shell Programmierung unter Reliant UNIX und Solaris.
    Dann etwa 5 Jahre Zentralfunktion etwas abseits der Technik.

    Nachdem die Firma dicht gemacht hat, bleiben mir 2 Jahre Transfergesellschaft.
    Würde gerne wieder hardwarenah programmieren ( UNIX, Echtzeitsysteme usw. ).

    Wie macht man sich am besten dafür wieder fit ?
    Hatte daran gedacht MS C++ zu kaufen und mit den aktuellsten Versionen erst mal wieder vertraut zu werden.

    Bin für alle Tips dankbar.

    Grüsse
    Gunther



  • Kaufen brauchst du nicht, sondern kannst das kostenlose Visual Studio 2010 Express benutzen (und bald kommt auch die VS 2012 raus).

    Und für Linux gibt es ja sowieso den gcc mit passenden Tools.



  • MSVC ist _kein_ C-Compiler. Er unterstützt nur ein Subset des C-Sprachstandards und auch nur C90, aktualisiert wird der nicht mehr. Nimm also Clang oder GCC oder... .



  • Wenn du unter UNIX programmieren willst, wäre MSVC sowieso eine schlechte Wahl. Wie bereits gesagt unterstützt er kein aktuelles C und Microsoft hat mehrfach gesagt, dass sie kein Interesse haben, dies zu ändern. Außerdem ist er nur für Windows und damit nicht für Entwicklung unter/für UNIX geeignet. Der gcc ist zB ein kostenloser Compiler der unter allen möglichen Betriebssystemen (darunter Linux, Solaris, etc.) läuft und aktuelles C unterstützt. Wenn du nur unter Solaris entwickeln willst, da gibt es glaube ich den Sun Compiler auch kostenlos (Wobei Oracle das vielleicht wieder abgeschafft hat).

    Als IDE hast du mehrere Möglichkeiten. Für Solaris ist vermutlich NetBeans populär. Ansonsten gibt es KDevelop, Code::Blocks, etc.



  • Vielen Dank für Tips.

    Programmieren will ich nicht zwangsläufig unter UNIX/ Linux.
    Zumal dort Shell Scripte sehr sinnvoll sind.

    Denkbar ist auch Programmierung für Echtzeitsystem, Controller oder ähnliches.

    Ziel ist erst mal wieder richtig fit mit der C Programmierung zu werden.
    Also üben auf dem normalen PC unter Windows 7 wäre erst mal ok denke ich ?



  • Am besten lädst Du einfach eine IDE runter und fängst einfach an. Im Echtzeit/Embedded-Bereich kommen viele Systeme mit eigenen Entwicklungssystemen oder mittlerweile mit Eclipse-Plugins. Daher könntest Du dir einfach mal Eclipse anschauen. Wobei ich nicht weiß, wie frickelig das einrichten da noch ist. Einfacher ist vielleicht Code::Blocks http://www.codeblocks.org/downloads/26 (Achte darauf, dass Du die Version mit MinGW nimmst). Standardmäßig nutzen beide IDEs eh den gleichen Compiler (MinGW einen GCC Port).



  • Für Windows-Nutzer:
    Wenn du den Code::Blocks 10.05 mit dem MinGW 4.4.1 wählst, hole dir sofort ein Update des MinGW.
    z.B.: http://tdm-gcc.tdragon.net/download
    Ist zwar noch nicht die aktuelle 4.7.0. Aber ist relativ einfach zu installieren.
    Es gibt zwar auch Links zum 4.7.0 - aber nur wenige von denen sind einfach zu installieren. Und die statisch gelinkten C++ Endprodukte sind bei der Version, die ich getestet hatte, etwa 50% grösser als bei den 4.6.x Versionen.

    Eventuell, wenn zip-gepackt, den Packer aktualisieren.

    MfG f.-th.



  • Also wenn du wirklich in Richtung OS gehst, dann wäre vielleicht das hier interessant für dich:

    http://www.amazon.de/Operating-Systems-Implementation-Prentice-Software/dp/0131429388/ref=sr_1_5?ie=UTF8&qid=1338842028&sr=8-5

    Wobei hier ein Mikrokernel ohne Echtzeitfähigkeit behandelt wird, aber die Theorie könntest du dir dazu extra aneignen.


  • Mod

    Komisch...
    Wie wäre es mit Entwicklungskits und Tools für ARM?
    z.B. in dieser Richtung
    http://www.heise.de/hardware-hacks/artikel/Angetestet-EasyMx-PRO-v7-ARM-Entwicklungsboard-1476669.html ?

    Wenn du Windows Treiber entwickeln willst, dann wäre es schon sinnvoll, sich die MS- Entwicklungstools dafür zu besorgen:

    http://msdn.microsoft.com/en-us/windows/hardware/gg454513/

    Wenn du was kaufen willst, dann kannst du dir auch gleich Intel Tools besorgen oder eben wie schon oben angedeutet, Entwicklungsboards und Tools.

    Wenn du für beide Systeme entwickeln willst (Windows, Linux), dann könntest du dir auch die Open Watcom Werkzeuge (und Community) anschauen.

    Am aktuellsten sind aber sind aber die jeweiligen Herstellerwerkzeuge (damit mein ich Intel, Nvidia, Amd usw.) und der gcc.
    In eine neue Richtung gehts mit Cuda und OpenCl

    Aber für hardwarenahe Geschichten, Embeddet und so, sind die Microsoftsachen eh nicht so der Burner, und wie rüdiger auch schon schreibt bringen die öfter sowieso eigene Entwicklungswerkzeuge mit.

    Einfach Linux Distri und Entwicklungstools, auf Backtrack ist schon so einiges nettes vorinstalliert oder vielleicht kommt dir üben auf Solaris ( http://openindiana.org/ ) entgegen oder selber zusammenklicken ( http://www.t2-project.org/ ) oder was auch immer.

    Leistungsfähige Programme kann man aber nach wie vor mit kleinen, aber feinen Werkzeugen wie fasm ( http://flatassembler.net/ )
    oder den tiny C Compiler ( http://bellard.org/tcc/ ) entwickeln.

    Ach und apropos Scripts:
    http://lua-users.org/wiki/LuaVersusPython


Anmelden zum Antworten