Wie sieht die erste Zeile deines Programms aus? Die letzte Warnung klingt nach vergessenem
#include
Hast du das ganze zufällig mit Visual Studio gemacht? Dann kill die zeile
#include "stdafx.h"
einfach mal
still 2 warnings:
"zettel2.c", line 11: warning: implicit function declaration: printf
"zettel2.c", line 12: warning: newline not last character in file
btw:
"zettel2.c", line 1: warning: invalid white space character in directive
"zettel2.c", line 13: warning: newline not last character in file
"zettel2.c", line 11: warning: implicit function declaration: printf
Dann füg mal #include <stdio.h> ein. (Wurde das in der Übung nicht erwähnt?)
"zettel2.c", line 12: warning: newline not last character in file
Die ist doch eigentlich selbsterklärend: Jede C-Datei muss mit einem Zeilenumbruch enden.
Welches von beiden denn nun [img]
http://www.fb18.de/gfx/28.gif[/img]
Das zweite beseitigst du indem du am Ende des Programms ne Leerzeile einfügst.
Das erste kann ich so nicht sagen, wenn du willst mail mir das C-Ding mal (als T3-Übungsleiter werde ich wohl kaum abschreiben [img]
http://www.fb18.de/gfx/28.gif[/img])
"zettel2.c", line 1: warning: invalid white space character in directive
obwohl ich
#include "stdio.h" hab
#include "stdio.h" hab
Na das wird wohl kaum funktionieren, es sei denn, Du kompilierst im selben Verzeichnis, in welchem auch die .h Datei liegt. Verwende eckige Klammern anstatt Anführungsstriche:
#include <stdio.h>
invalid white space
Hast Du die Dateien auf einem Windows Rechner erstellt? Falls ja, hast Du sie nach dem Hochladen dann mit DOS2UNIX konvertiert (wegen der Zeilenumbrüche)?
also auch mit <stdio.h> wird das nichts
dos2unix?
hab ich noch nie gemacht.
letztes mal gings doch auch ohne das converten (bei zettel 1)
#include <stdio.h>
int berechne (int x) {
}
void main() {
printf("Ergebnis:");
}
also auch mit <stdio.h> wird das nichts
Und Du hast auch keine Leerzeichen irgendwo eingefügt zwischen den Klammern oder so? Komisch.
dos2unix? hab ich noch nie gemacht.
Dann solltest Du das vielleicht mal ausprobieren und berichten, ob es das Problem beseitigt hat.
dos2unix zettel2.c dings.c
cc -S dings.c
Klappts?
ach das is doch alles shice!
could not open /dev/kbd to get keyboard type US keyboard assumed
could not get keyboard type US keyboard assumed
Beim letzten Fehler handelt es sich übrigens nur um ne Warnung, das Programm müsste also ansich schon trotzdem kompiliert haben
btw:
"zettel2.c", line 1: warning: invalid white space character in directive
"zettel2.c", line 13: warning: newline not last character in file
Ehrlich gesagt: Die Warnungen sind beide selbsterklaerend. Liesst Du sie, und versuchst Du sie zu beheben, oder sollen andere Deine Uebugen fuer Dich machen…?
Und dass Du kein C programmieren kannst, hat nix mit einer fehlerhaften Sparc zu tun…
Anderer Punkt: Die GCC (Gnu Compiler Collection) kommt durchweg auch mit Windows-Zeilenumbruechen klar.
Mo
Anderer Punkt: Die GCC (Gnu Compiler Collection) kommt durchweg auch mit Windows-Zeilenumbruechen klar.
Generiert aber eventuell anderen Code als der Sparc cc?
Der Sparc C Compiler generiert anderen Code als der Gnu C Compiler? Komisch, und ich dachte, die Schnittmenge der Gnu C Compiler und der Sparc C Compiler sei nicht leer.
Mo
#include "stdio.h" hab
Na das wird wohl kaum funktionieren, es sei denn, Du kompilierst im selben Verzeichnis, in welchem auch die .h Datei liegt. Verwende eckige Klammern anstatt Anführungsstriche:
#include <stdio.h>
Doch, es funktioniert. "stdio.h" wird erst im aktuellen Verzeichnis gesucht, und dann wie <stdio.h>. Ist eklig, aber gut, wenn man's weiß. (Quelle: C99:6.10.2#3)
Paragraphenreiter… Man macht es einfach nicht. Es ist unschoen.
Mo
Der Sparc C Compiler generiert anderen Code als der Gnu C Compiler?
Der SunOS C-Compiler macht kommentare in den Assembler-Code, in denen man sehen kann, welcher C-Code zum nachstehenden Assembler-Code geführt hat.
SunOS != Solaris != Linux != Sparc
Mo
SunOS != Solaris != Linux != Sparc
Du bist der erste, der hier Linux erwähnt…
SunOS != Solaris != Linux != Sparc
Versuchst du damit zu sagen, die vier seien paarweise verschieden? (Obacht! Ungleichheit ist nicht transitiv [img]
http://www.fb18.de/gfx/23.gif[/img])
Falls ja: Ich hab "SunOS C-Compiler" geschrieben, damit klar ist, welcher der C-Compiler, die man auf Sparc einsetzen kann, gemeint ist.
Falls nicht: Was willst du uns wissen lassen? [img]
http://www.fb18.de/gfx/16.gif[/img]
Falls ja: Ich hab "SunOS C-Compiler" geschrieben, damit klar ist, welcher der C-Compiler, die man auf Sparc einsetzen kann, gemeint ist.
Du meinst den SunOS Gnu C Compiler?
Ich weiss, dass Ungleichheit nicht transitiv ist. Aber es ist eine Schreibweise, die selbst Mathematiker haeufig verwenden. Sie wird verstanden.
Mo
Du meinst den SunOS Gnu C Compiler?
Ich meine den C-Compiler von SunOS.
Oder *ganz* genau: das <Zitat>interface to the BSD Compatibility Package C compiler</Zitat>.
So steht es jedenfalls in der Manpage von "cc".
es ist eine Schreibweise, die selbst Mathematiker haeufig verwenden.
Achso [img]
http://www.fb18.de/gfx/10.gif[/img]. Ich hoffe nicht!
*Schauder*
es ist eine Schreibweise, die selbst Mathematiker haeufig verwenden.
Achso [img]http://www.fb18.de/gfx/10.gif[/img]. Ich hoffe nicht!
*Schauder*
Naja, das Gegenteil geht ja selbst in C :>
int a = b = c = 3;
ist eine korrekte Anweisung.
Mo