Probleme bei der Kompilierung meines Programms unter Linux



  • Wenn es laufen würde, dann mache ich weiter mit ./programm.cpp

    nein machst du nicht sondern mit ./programm (nicht .cpp) - die erste Angabe von "programm" in der Kommandozeile sagt wie die Applikation heissen soll

    btw: die vorherigen Post haben den Fehler schon eingegrenzt also nur noch fixen - die Datei einstellen dann läufts - alles nur Schlurifehler nichts wildes



  • kompiliert unter gcc.godbolt, und jedem anderen Linux das gerade offen ist - so ein Trivial-Programm muss kompilieren - sonst ist was mit deinen Einstellungen faul (hast du an etwas rumgespielt nachdem das 1. mal der Fehler gekommen ist?)

    also 1.

    "g++ -o programm programm.cpp"

    eingeben - Ausgabe hier posten

    "./programm dateiname"

    eingeben - Ausgabe hier posten

    solltest du den dateinamen als Parameter weglassen stürzt dein Programm ab (fehlenden Prüfung deinerseits)

    die Datei mal hier einstellen die du als Parameter angibst - oder solltest



  • Gast3 schrieb:

    kompiliert unter gcc.godbolt, und jedem anderen Linux das gerade offen ist - so ein Trivial-Programm muss kompilieren - sonst ist was mit deinen Einstellungen faul (hast du an etwas rumgespielt nachdem das 1. mal der Fehler gekommen ist?)

    also 1.

    "g++ -o programm programm.cpp"

    eingeben - Ausgabe hier posten

    "./programm dateiname"

    eingeben - Ausgabe hier posten

    solltest du den dateinamen als Parameter weglassen stürzt dein Programm ab (fehlenden Prüfung deinerseits)

    die Datei mal hier einstellen die du als Parameter angibst - oder solltest

    Ehrlich gesagt weiß ich nich was für ein Compiler die Uni benutzt. Ich habe daran sicher nichts umgestellt, ich wüsste ja gar nicht wie... Das einzige was ich getan habe ist mit "cd" Verzeichnisse wechseln. Aber natürlich NICHT während ich am Program gearbeitet habe, sondern davor.

    Die Dateien, die ich als Parameter angebe beinhalten einfach nur willkürlich gewählte Zahlenpaare, die die Dominosteine darstellen sollen.

    Die Eingabe/Ausgabe kann ich im Moment erstmal nicht mehr beisteuern, denn für heute habe ich erstmal Schluss gemacht. Ich bin schon seit 9 Uhr dran und gerade an einem Punkt, wo nichs mehr geht... Ich wage dann morgen in aller Frische einen neuen Versuch.

    Vielen Dank schonmal für eure Geduld und Zeit.



  • Ehrlich gesagt weiß ich nich was für ein Compiler die Uni benutzt

    g++ --version



  • 1. was hast du für einen gcc/g++

    g++ --version

    2. und ein Trivial-Test ob dein gcc/g++ richtig funktioniert

    --main.cpp--

    #include<stdio.h>
    
    int main() 
    {
      int* x = new int();
      delete x;
      printf("Hello World\n");
      return 0;
    }
    

    ---

    g++ -o main main.cpp

    sollte "Hello World" ausgeben



  • Ich finde es unerhört, dass auf diese Weise versucht wird, sich Punkte in der Prüfungsvorleistung zu erschleichen. Bitte versuchen Sie selbstständig die Aufgaben zu lösen. Bei Fragen können Sie sich gerne an mich wenden. 😡



  • ...

    Das Programm ist bis auf new pures C, entferne schrittweise alle Compilerwarnungen (von oben nach unten), entferne alle globalen Variablen und mache sie funktions- bzw. main-lokal evtl. übergib sie als (Zeiger)Parameter.
    Speicherzugriffsfehler haben ihre Ursache meist bei Array- bzw. allg. Speichergrenzenüberschreitungen oder uninitialisierten Variablen (würde der Compiler melden) oder falschem Zeigergebrauch.



  • Wutz schrieb:

    Das Programm ist bis auf new pures C

    Noch nicht ganz. Die Art, wie die Typen angegeben werden, ist in reinem C fehlerhaft (benötigt den Modifier union, struct , oder enum ).

    Aber das ist nur für's Archiv.



  • War nur ein kleiner Spaß. Wusste ja nicht, dass ich damit gleich solche Emotionen auslöse^^

    Sitze selber noch an der Aufgabe, bin aber recht zuversichtlich. Was die Schlussfolgerung betrifft, dass der Fehler gleich beim Herr Dr. zu suchen ist, bin ich geteilter Meinung. Es ist wirklich nicht sehr vorteilhaft in der Vorgängervorlesung die Grundlagen einer Programmiersprache in C zu lehren und dann anschließend im nächsten Semester hauptsächlich auf C++ zu wechseln.

    Kann mir gut vorstellen, dass das den ein oder anderen verwirrt. Das andere Problem ist, dass zur Vereinfachung auf viele Sachen nicht geachtet werden soll (oftmals einiges an Exceptionhandling), wobei gerade das wichtig sein wird.

    Andererseits muss man auch beachten, dass das eine Vorlesung ist, die von allen Informatik-Studiengängen besucht wird. Ist eben dann schwierig einen Mittelweg zu finden, dass alle es verstehen. Leute die vorher noch garnicht oder kaum programmiert haben, haben es da sicher am schwersten.

    Ich würde also nicht mal den Fehler beim Dr. suchen sondern, wie schon gesagt wurde, bei der Strukturierung des neuen Studiengangs. Es müsste eben eine Vorlesung für all die geben, die Informatik als Nebenfach absolvieren. Ist eben doch ungünstig alle in die selbe Vorlesung zu stecken.

    Beste Grüße und viel Erfolg



  • Gast42 schrieb:

    War nur ein kleiner Spaß. Wusste ja nicht, dass ich damit gleich solche Emotionen auslöse^^

    Der war aber leider nicht besonders lustig. Wenn du wüsstest, was du damit bei mir heute Morgen angerichtet hast...

    Allerdings, Dozenten beleidigen hilft keinem wirklich weiter. Zumal gewisse Sachen offensichtlich ein Missverständnis waren oder ich habe mich nicht deutlich ausgedrückt.

    Aber, die Aufgabe ist nunmal da, daran kann man nichts ändern und bearbeiten muss ich sie ja trotzdem.

    Wie dem auch sei. Ich habe eure Tipps beherzigt und ich denke ich bin ebenfalls auf einem guten Weg, dieses Programm noch zum laufen zu bringen.

    Ich möchte mich nochmal bedanken für die Geduld und die Tipps.


Anmelden zum Antworten