boost::asio udp client example argc immer 1 und Assertion fehler ?



  • Ich versuch gerade

    http://www.boost.org/doc/libs/1_53_0/doc/html/boost_asio/tutorial/tutdaytime4/src.html

    dieses Beispiel zu compilieren

    argc ist aber immer 1 dadurch bricht das programm ab. Wenn ich das einfach ignoriere und das if auskommentiere habe ich eine exception bei

    udp::resolver::query query(udp::v4(), argv[1], "daytime");
    

    wenn ich im release kompiliere und es kommt ein "debug assertion failure" wenn ich im debug kompiliere.

    Ich nutze visual studio 2010 professional(von meiner Hochschule)
    Ich lasse das server beispiel und das client beispiel gerade beide auf einem pc laufen.

    ehrlich gesagt verstehe ich boost::asio auch noch nicht wirklich :o kennt jemand gut erklärte beispiele oder kann mir ein wenig helfen das zu verstehen ?

    Ich möchte eigentlich nur einen UDP Server-Client in mein Projekt einbauen der einfach nur einen string übeträgt.
    Hab mit winsock2 schon einen TCP Server - Client geschrieben aber möchte mich jetzt einfach mal an boost rantrauen.

    Edit: Uuups ich hab gerade noch was in dem ide forum über boost gelesen und hab jetzt ausversehen hier gepostet. kann das jemand in C++ verschieben ?

    lg
    klaus



  • dashu schrieb:

    argc ist aber immer 1 dadurch bricht das programm ab.

    Klar. Hast du dem Programm denn überhaupt Kommandozeilenparameter beim Aufruf gegeben?

    Wenn ich das einfach ignoriere und das if auskommentiere habe ich eine exception bei

    udp::resolver::query query(udp::v4(), argv[1], "daytime");
    

    wenn ich im release kompiliere und es kommt ein "debug assertion failure" wenn ich im debug kompiliere.

    Das kannst du doch nicht ignorieren...! So greifst du auf nicht initialisierten Speicher zu! Völlig selbstverständlich, dass da dein Programm abstürzt.

    ehrlich gesagt verstehe ich boost::asio auch noch nicht wirklich :o kennt jemand gut erklärte beispiele oder kann mir ein wenig helfen das zu verstehen ?

    Ich möchte eigentlich nur einen UDP Server-Client in mein Projekt einbauen der einfach nur einen string übeträgt.
    Hab mit winsock2 schon einen TCP Server - Client geschrieben aber möchte mich jetzt einfach mal an boost rantrauen.

    Vielleicht lernst du am Besten zuerst C++.



  • Was soll ich schreiben 😞 du hast recht. Aber ich bemühe mich und hoffe das ich durch dieses Projekt mir alles aneignen kann was meine C++ Kurse mir nicht beigebracht haben.

    Ich bin bemüht ein guter Programmierer zu werden und sitze hier gerade vor 3 verschiedenen C++ und C Büchern.
    Ich schaffe es irgendwie nicht allein und es tut mir leid dass ich so viele fragen haben auf die ich irgendwie keine Antwort finde.

    Warum funktioniert denn dieses Beispiel nicht ? Was müsste ich denn als Kommandozeilen parameter übergeben ? Und wie mit der IDE die ich nutze?



  • dashu schrieb:

    Warum funktioniert denn dieses Beispiel nicht ? Was müsste ich denn als Kommandozeilen parameter übergeben ? Und wie mit der IDE die ich nutze?

    Gut, tut mir Leid wenn ich grob war. 🙂
    Welche Bücher hast du?

    Was die Kommandozeilenparameter angeht: Du kannst bspw. in der IDE CodeBlocks in Projekten die Kommandozeilenparameter mit [Project]→[Set programs' arguments] setzen.
    Sonst kannst du einfach per Kommandozeile (daher der Name) den Namen der Executable zusammen mit den Kommandozeilenparametern aufrufen.

    dashu schrieb:

    Was soll ich schreiben 😞 du hast recht. Aber ich bemühe mich und hoffe das ich durch dieses Projekt mir alles aneignen kann was meine C++ Kurse mir nicht beigebracht haben.

    😃 Jaja, diese C++-Kurse...



  • Intensivkurs C++: Schneller Einstieg über die Standardbibliothek (Pearson Studium - IT)

    Workshop C++ . [Broschiert]
    Andre Willms (Autor) vom Addisen Wesley Verlag

    Sams Teach yourself C++ in one hour a day

    C++ Von Anfang an vom rororo verlag 😛 mein erstes.

    Ich hab die If Abfrage übrigens nur ignoriert damit ich mal einen Haltepunkt ins Programm setzen kann um durchzusteppen und mal zu kucken was denn genau passiert 😃

    Bei visual studio hab ich zb bei den projekteigenschaften-> c++-> befehlszeile

    Bin ich da richtig ? Im moment steht da drin:

    /I"C:\Users\dashu\Documents\Visual Studio 2010\Projects\boost_1_53_0" /ZI /nologo /W3 /WX- /Od /Oy- /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fp"Debug\udpclient.pch" /Fa"Debug\" /Fo"Debug\" /Fd"Debug\vc100.pdb" /Gd /analyze- /errorReport:queue

    In den Kursen haben hier halt mit VS2010 gearbeitet aber nie so wirklich geschaut was da drin steckt und was passiert.





  • doppelt weil es einfach so gut ist ?

    🙂

    ich werds mir holen sobald mein stipedium da ist



  • Für dich als Einsteiger empfehle ich das Buch nicht.

    MfG SideWinder


  • Mod

    dashu schrieb:

    Intensivkurs C++: Schneller Einstieg über die Standardbibliothek (Pearson Studium - IT)

    Kenne ich nicht, aber "schnell" klingt schon einmal verdächtig, denn Programmieren, erst recht nicht in C++, lernt man nicht schnell.

    Workshop C++ . [Broschiert]
    Andre Willms (Autor) vom Addisen Wesley Verlag

    Leider ein bekannt schlechter Autor. Dieses Buch ist mir neu, aber seine anderen sind voller Fehler.

    Sams Teach yourself C++ in one hour a day

    Siehe oben zum Thema "schnell", aber mal 10.

    C++ Von Anfang an vom rororo verlag 😛 mein erstes.

    Immerhin eines der Bücher, die hier empfohlen werden.

    Ist natürlich hart, Geld für Pfusch ausgegeben zu haben. Ist nicht deine Schuld, es liegt an den Verlagen, die wissen, dass sie auch (oder gerade) mit billig und schnell produzierten Pfuschbüchern Erfolg haben, wenn der Autor bloß einen schönen Stil hat. Fachliche Kompetenz kann ein Anfänger schließlich nicht beurteilen und am Ende gibt's dann 5 Sterne auf Amazon für die lockere Schreibweise. Man weiß schließlich nicht, was man alles nicht (oder gar falsch) gelernt hat.
    Verdächtig ist, wenn ein Autor pro Jahr zwei Bücher zu zwei verschiedenen Themen rausbringt (->Andre Willms, aber auch viele andere). So kompetent ist kein Mensch auf der Welt, dass er nach ein paar Monaten in einer Programmiersprache diese lehren kann. Das sind einfach Standardbücher, jeweils mit ein bisschen oberflächlicher Anpassung an die neue Sprache. Oft wird im Titel dann auch schneller und/oder vollständiger Erfolg versprochen. Das kann es auch nicht geben. Gute Bücher sind da meist ehrlicher.



  • das sams teach yourself ist eigentlich ganz ok.

    Ist auch son 800 seiten Schmöker

    Aber man lernt auch nur grob die Syntax kennen und ein wenig STL.

    Kennt ihr ein Buch in dem man Patterns kennenlernt speziell mit C++ Beispielen ?

    Das C++11 Buch klingt ganz interessant. Aber was empfiehlt ihr denn dann für Einsteiger ?

    Gibts nicht so ne schöne einfache checkliste für c++ programmierer ? :p
    Wenn ich alles einhalte hab ich schönen Code ?

    Ich hab letztens im Google C++ Style Guide von cpplint.py gelesen ? Das kann man über seinen Code drüberlaufen lassen und das schaut grob nach Stil fehlern.

    Was haltet ihr eigentlich von dem Style Guide und kennt ihr cpplint.py ?

    http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Integer%5FTypes


Anmelden zum Antworten