Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
25.08.2001, 18:40
feigling



Ich habe eine kleine Frage:

Wieso bekomme ich bei diesem Code eine Fehlermeldung

Quellcode:
#include <stdio.h>

void main()  
{
printf ("Test\n");
};

Wenn ich das Kompilieren will, dann bekomme ich diese Fehlermeldung:

--------------------Konfiguration: C_TEST - Win32 Debug--------------------
Kompilierung läuft...
main.cpp
Linker-Vorgang läuft...
LIBCD.lib(wincrt0.obj) : error LNK2001: Nichtaufgeloestes externes Symbol _WinMain@16
Debug/C_TEST.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.

C_TEST.exe - 2 Fehler, 0 Warnung(en)

Warum bekomme ich die Meldung ?
Ich verstehe es nicht.
Den gleichen Fehler habe ich bekommen, als ich den Source von another1 versucht habe zu kompilieren, den er mal hier im Forum geschrieben hat. Mit dem malloc meine ich, wo der Compi abstürzen soll. Ich denke, ihr wisst, welchen ich meine.

--

zum Seitenanfang zum Seitenende Profil || Suche
001
25.08.2001, 18:45
[PE]Spinator



Weil du bei diesem neu erstellten Projekt Win32-Anwendung gewählt hast... Eine Win32 Anwendung beginnt mit WinMain( irgendwas ) und nicht mit main( )

Du musst Datei->Neu->Win32-Konsolenanwendung
dann gehts

--

This post was written using Opera 7.0 (http://www.opera.com)

zum Seitenanfang zum Seitenende Profil || Suche
002
25.08.2001, 18:49
feigling



Ich weiß. habe ich gerade im Chat auch festgestellt.
Dake nochmal an Hellfire und ttt :)
Eigentlich hatte ich auch gedacht, dass ich Konsolenanwendung ausgewählt hatte, aber ich habe mich wohl verklickt. Und ich dachte schon, ich hätte irgendwann mal mein C++ geschrottet.
Aber trotzdem nochmal vielen Dank @ [PE]Spinator

@ dp oder thevoice oder wen auch immer
Ihr könnt den Thread schließen. Hat sich alles schon erledigt

--

zum Seitenanfang zum Seitenende Profil || Suche
003
25.08.2001, 21:05
Raptor-tf



Hm..wieso machst du das auf C art,und nicht auf C++ art?
Quellcode:

#include <iostream.h>
void main()
{
cout<<"Test\n"<<endl;
};

--

cya Rap

Rettet die Welt:
Bomb Snut

zum Seitenanfang zum Seitenende Profil || Suche
004
25.08.2001, 21:43
[PE]Spinator



und wieso schreibst du noch "<<endl" hintendran?

--

This post was written using Opera 7.0 (http://www.opera.com)

zum Seitenanfang zum Seitenende Profil || Suche
005
25.08.2001, 22:03
Raptor-tf



*schäm*
cout<<"Test"<<endl;
oder cout<<"Test\n"; beides geht
Aber bei cout<<"Test\n"<<endl; sollte man entweder \n oder endl; weglassen

--

cya Rap

Rettet die Welt:
Bomb Snut

zum Seitenanfang zum Seitenende Profil || Suche
006
25.08.2001, 22:28
Zeeke



Also... Rap :)

Für Consolen Anwendungen ist C einfach kultiger, hehe. Und ich find wirklich besser........

Baba

--

zum Seitenanfang zum Seitenende Profil || Suche
007
26.08.2001, 02:27
Another1



xxstreams sucken doch, ich find das << >> sieht einfach nit so schön aus als wenn man es als argumente an object/output übergibt =P

--

Another1

...relaxing..atm =)
... und Schweiz suckt!

zum Seitenanfang zum Seitenende Profil || Suche
008
26.08.2001, 12:33
feigling



Also ich habe printf ("Test\n"); genommen, da ich das mal testen wollte. Sonst nehme ich eigentlich auch immer cout (sind ja nur Testprogramme für mich), aber printf soll aber auch besser sein. Frag mich nicht warum, aber da in den meisten Spielen im Source immer printf steht, wird das wohl schon seine Vorzüge haben.

--

zum Seitenanfang zum Seitenende Profil || Suche
009
26.08.2001, 13:04
Sccar



moinsen

bei den iostream klassen bin ich auf probleme gestoßen, wenn es um ein und ausgabe ging. sie schreiben irgendwie anders in den outputstream als printf.

sccar

--

...das is zwar der uebelst gehackteste kleine bastard, den ich je gesehen habe, aber dafuer sauschnell. {Tron}

zum Seitenanfang zum Seitenende Profil || Suche
010
26.08.2001, 15:42
TheTinySteini



Ich find vor allem, dass printf viel klarer ist. z.B. wenn ich sowas hier haben will:
"Dies ist ein
1
2 Test
3"
(wobei alles bis auf "Test" der Inhalt von Variablen ist)
Dann mach ich das mit printf z.B. so:
printf("%s\n%d\n%d Test\n%d", szDiesistein, i1, i2, i3 );

aber mit den io-streams bräuchte ich:
cout << szDiesistein << endl << i1 << endl << i2 << " Test" << endl << i3;

rah, das sieht ja wohl bescheuert aus. Außerdem sollte << einfach der leftshift-operator bleiben *g*. Als "Achtung-scharfe-Kurve-bevor's-zum-iostream-geht-Hinweisschild" find ich's net so toll.

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
011
26.08.2001, 17:40
Kriz



@feigling: Weil Du die Main-Funktion mit einem Semikolon abgeschlossen hast. Funktionskörper werden NIEMALS mit einem Semikolon abgeschlossen =)

@TTT: Da haben wir wohl einen analytischen Blackout gehabt, wah? Gleichzeichen in #defines findet er, aber ein simples ; übersieht er doch glatt =)

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)

zum Seitenanfang zum Seitenende Profil || Suche
012
26.08.2001, 19:17
feigling



Nicht ? Die werden echt nicht mit nem Simikolon abgeschlossen ?
Ich habe das immer so gemacht, aber da du es bestimmt besser weiß, lasse ich es zukünftig :)

--

zum Seitenanfang zum Seitenende Profil || Suche
013
26.08.2001, 20:06
apfelkorn



wenn alle nubs so einsichtig wären, würde längst Frieden im Forum herrschen... *g*

--

zum Seitenanfang zum Seitenende Profil || Suche
014
26.08.2001, 21:21
feigling



@apfel Jaja, du mich auch, du Newbie ;)

*sichschnellverdrück*
Aua, Apfelkorn, nicht hauen, aua, das war doch nur ein Scherz. Tut mir leid. Aua, Aua *g*

Aber trotzdem gut, wenn man euch Profis auch mit kleineren Problemen Nerven kann, die man nicht hinbekommt.

--


Dieser Beitrag wurde am 26.08.2001 um 21:36 von feigling bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
015
28.08.2001, 20:21
Prefect



Quellcode:
prefect@leprechaun:~ > cat >kriz.c
;
prefect@leprechaun:~ > gcc -c kriz.c
prefect@leprechaun:~ > ls kriz.o
kriz.o

Und wenn jetzt jemand nicht versteht, was das soll:
C akzeptiert leere Statements. Mit anderen Worten, man kann außerhalb von Statements soviele Semikoli (Semikolons, Semikolonnen, was auch immer) haben wie man lustig ist.

Natürlich ist ein Semikolon am Ende eines Funktionsrumpfes trotzdem Quatsch :)

Ach ja, dass iostreams eine schlechte Sitte sind muß ich ja nicht nochmal erwähnen, oder? ;)

cu,
Prefect

--

Widelands - Gemütliche Aufbaustrategie, Free Software
Noch ein Blog - Lerne, wie die Welt wirklich ist, aber vergiss niemals, wie sie sein sollte.

zum Seitenanfang zum Seitenende Profil || Suche