C in Visual Studio schreiben (nicht C# oder C++)



  • Hi Leute!

    Ich möchte mich für ne Klausur vorbereiten, aber ich finde kein Programm mit dem ich Problemlos C proggen kann. Ich hab schon viele durchprobiert, aber alle gesteten machen bei mir Probleme. Zudem würde ich gerne das gleiche Programm wie unser Professor verwenden also Visual Studio 2005. Dort möchte ich einfache *.C und *.h Dateien erstellen können und diese debuggen und kompilieren, wobei der Kompiler auch Zeiger usw. beherrschen sollte.
    Benötige ich irgendeinen Patch oderso um diese .C Dateien als Vorlage zu bekommen? Denn wenn ich die manuell erstelle, funktioniert schon das Debgging nicht (nicht auswählbar).

    Ich bin für jede Hilfe dankbar!

    Gruß

    Der C-Noob



  • VS (05) unterstützt problemlos C, also mach dir da keine Sorgen um Zeiger. Einfach mal ein neues Projekt starten, den F9 Knopf drücken und ab geht die Post... 😉



  • Hi,

    muss ehrlich sagen ich versteh zwar ned was du willst, aber wenn du willst das der C-Kompiler von VS verwendet wird musst du bei den Projekteigenschaften auf "C++ -> Erweitert" und da bei "Kompilierungsart": "Als C-Code Kompilieren /TC" einstellen.

    Peace & Blessed Love C0de4Fun



  • VS (05) unterstützt problemlos C, also mach dir da keine Sorgen um Zeiger.

    Aber nur C89, das kann ärgerlich sein.
    Wenn aber dein Professor das gleiche hat, dann hat er C99 wahrscheinlich noch gar nicht entdeckt.
    🙂



  • Erstmal vorab - danke für eure schnellen Antworten!
    Allerdings hab ich alle Möglichkeiten ausprobiert, und bin immer noch kein bischen weiter...

    @Kóyaánasqatsi: Wenn ich ein völlig funktionsfähiges Programm (in der Uni getestet) einfach bei mir mit Visual Studio öffne (Endung logischer weise .c), dann ist das Debugging/Kompilieren Icon gesperrt. Dementsprechend auch keine reaktion auf F10. F9 ist Breakpunkte setzen, und ich hab die Standarteinstellungen. Is ja noch ne Jungfreuliche Installation.

    Wenn ich ein neues Projekt offne, kann ich lediglich .cs usw. Dateien anlegen. ICH SUCHEN JA EBEN EINE ERWEITERUNG, DIE ES MÖGLICH MACHT DIREKT .C DATEIEN ALS "VORLAGE" AUSZUWÄHLEN. Ich weiß, das es soetwas gibt, da ich es in der Uni ja nutze...

    @C0de4Fun: Der Weg über Projekt->Projekteigenschaften führt bei mir nur zu einem Menü mit folgenden Auswahlpunkten: Erstellen, Buildergebnisse, Debuggen, Ressourcen, Einstllungen, Verweispfade, Signierung, Sicherheit und Veröffentlichen - aber nichts wo ich Einfluss auf den Debgger oder gar den Kompiler habe... Ich hab in allen Möglichen Menüs nach der Möglichkeit gesucht - ohne Erfolg.

    Trotzdem Danke für eure Ideen, leider stehe ich noch genauso ratlos da wie vorher... Letzt progg ich halt auf Dev-C++ - allerdings unterstützt das die Zeiger nicht richtig, so dass ich mir den Teil der Klausur wohl sparen kann...



  • µngbd schrieb:

    VS (05) unterstützt problemlos C, also mach dir da keine Sorgen um Zeiger.

    Aber nur C89, das kann ärgerlich sein.
    Wenn aber dein Professor das gleiche hat, dann hat er C99 wahrscheinlich noch gar nicht entdeckt.
    🙂

    Wer braucht schon C99? Wegen der inhomogenen Unterstützung verzichte ich drauf und spare mir jede Menge Trabbel beim Portieren. 😃



  • Wenn ich ein völlig funktionsfähiges Programm (in der Uni getestet) einfach bei mir mit Visual Studio öffne (Endung logischer weise .c), dann ist das Debugging/Kompilieren Icon gesperrt.

    Du moechtest ein neues Projekt anlegen (zB Win32 Konsolenanwendung) und die bestehenden Quelltextdateien zum Projekt hinzufuegen.



  • C-Noob-86 schrieb:

    Trotzdem Danke für eure Ideen, leider stehe ich noch genauso ratlos da wie vorher... Letzt progg ich halt auf Dev-C++ - allerdings unterstützt das die Zeiger nicht richtig, so dass ich mir den Teil der Klausur wohl sparen kann...

    😕
    Da ist ein gcc dabei, zwar nicht mehr der neueste, aber trotzdem in jedem Fall aus einer Zeit, als es Zeiger schon seit Jahrzehnten gab. Was du wohl meinst?

    pointercrash() schrieb:

    Wer braucht schon C99? Wegen der inhomogenen Unterstützung verzichte ich drauf und spare mir jede Menge Trabbel beim Portieren.

    Das hab ich mir auch mal gedacht, aber mittlerweile gewöhne ich mich daran. Portabilät ist ja in manchen Fällen wirklich egal, sowie bei WinAPI-Dingen etc. Da kann man sich schon mal ein // oder ungeordnete Deklarationen leisten. Auch will ich mir in diesen Fällen restrict's angewöhnen, aber dazu fehlt mir bis jetzt die Disziplin. Aber ja: wirklich viel ist an C99 nicht dran.



  • Vielleicht führst Du mal aus, was an Zeigern "nicht so richtig unterstützt" werden kann... Evtl. ist Dein Programm ja auch nur "nicht so richtig korrekt"? 🙂

    Wenn das Programm "nicht so richtig funktioniert", handelt es sich möglicherweise um undefiniertes Verhalten, was man sich mit Zeigern leicht einhandeln kann. Vielleicht kann ja auch der Professor "nicht so richtig umgehen" mit Zeigern 🤡



  • C-Noob-86 schrieb:

    Letzt progg ich halt auf Dev-C++ - allerdings unterstützt das die Zeiger nicht richtig, so dass ich mir den Teil der Klausur wohl sparen kann...

    LordJaxom schrieb:

    Vielleicht führst Du mal aus, was an Zeigern "nicht so richtig unterstützt" werden kann... Evtl. ist Dein Programm ja auch nur "nicht so richtig korrekt"? 🙂

    Ganz sicher sogar, Dev-C++ unterstützt Zeiger ganz normal.
    Poste doch mal den Problemcode!

    µngbd schrieb:

    Das hab ich mir auch mal gedacht, aber mittlerweile gewöhne ich mich daran. Portabilät ist ja in manchen Fällen wirklich egal, sowie bei WinAPI-Dingen etc. Da kann man sich schon mal ein // oder ungeordnete Deklarationen leisten. Auch will ich mir in diesen Fällen restrict's angewöhnen, aber dazu fehlt mir bis jetzt die Disziplin. Aber ja: wirklich viel ist an C99 nicht dran.

    Oh, schon einiges, aber ziemlich viele "obfuscative gadgets" für Schreibfaule. Gottseidank hat sich aber der DoubleSlash in fast allen auch sonst nur C89- kompatiblen Compilern etabliert, den würde ich vermissen.
    Wenn man den gemeinsamen Nenner seiner Compiler beachtet und brav Hardwarezugriffe auf sinnvolle C-Interfaces legt und in einem Modul sammelt, verliert eine Portierung ihren Schrecken. Ein paar Stunden und include guards später bist Du meist fertig. Ist ja genau das, was an C soviel Spaß macht 🙂



  • Beim Portieren hast du sicher mehr Erfahrung als ich, momentan ist das exotischste Ziel mein Windows-PPC. Aber da lerne ich auch was: weil ich auf dem Gerät nämlich nur einen C++ Compiler habe... 🙂

    An der letzten Universität, wo ich war, hatten wir einen AIX-Server. Und der Compiler hat // nicht verstanden. Das war zum aus-der-Haut-fahren. 😞

    Oh, schon einiges, aber ziemlich viele "obfuscative gadgets" für Schreibfaule.

    Was meinst du?



  • ich schrieb:

    Das hab ich mir auch mal gedacht, aber mittlerweile gewöhne ich mich daran. Portabilät ist ja in manchen Fällen wirklich egal, sowie bei WinAPI-Dingen etc.

    Mit dem letzten Post hab ich freilich meine eigene Argumentation ad absurdum geführt... 🙄



  • µngbd schrieb:

    Oh, schon einiges, aber ziemlich viele "obfuscative gadgets" für Schreibfaule.

    Was meinst du?

    Ach, so Zeug wie Variablendeklaration im Schleifenheader mit lokaler Gültigkeit.
    Gadgets sind technische Spielereien und "to obfuscate sth." heißt, etwas zu vernebeln. Da die Gültigkeit bei Überlagerungen nicht mehr auf den ersten Blick ersichtlich ist, kann man ganz prima Code basteln, der noch einen Schwierigkeitsgrad beim Lesen drauflegt.

    µngbd schrieb:

    Mit dem letzten Post hab ich freilich meine eigene Argumentation ad absurdum geführt... 🙄

    So schlimm nun auch wieder nicht, aber es schadet nie, die Zahl der Zielplattformen durch Genügsamkeit breiter zu halten 😉


Anmelden zum Antworten