Zum Inhalt springen

Gmeiner P

Mitglieder
  • Gesamte Inhalte

    11
  • Benutzer seit

  • Letzter Besuch

Beiträge von Gmeiner P

  1. Ich hatte auch mal so ein Problem. Und wie bereits schon erwähnt wurde solltest du zunächst die Compileroptimierungen ausschalten.

    Handelt es sich dann wirklich um einen Programmfehler so ist es höchstwahrscheinlich eine Speicherüberschreibung. Im Debug-Build hat nämlich jede Variable einen zusätlichen Puffer um den reservierten Speicherplatz, so das der Fehler im Debug-Build nie auffliegen würde da hier der Puffer vorhanden ist. Im Release-Build ist dies wie gesagt nicht der Fall. Achte auch noch auf Assertions den diese werden im Release-Build komplett ignoriert. Mach einfach mal einen Build im Release-Modus mit Debug-Infos und lass die Releaseversion mal im Debugger laufen. Dann sollte es ein leichtes sein den bug zu finden.

  2. Ich finde es keine gute Idee einen cast in die UML mit aufzunehmen. Was sollte das bringen?? Man könnte es schon mal höchstens in die dynamischen Diagramme (also Sequenzdiagramme, Kollaborationdiagramme, Objektdiagramme, etc) einbauen. Die Frage ist, ob so etwas in ein Modellierungsdiagramm mit reingehört oder ein Implementierungsdetail ist. Dann kommt auch noch die Tatsache hinzu das casten nicht in allen Sprachen möglich ist und die UML möglichst unabhängig von der Programmiersprache sein sollte! Deswegen ist auch der Vorschlag die UML auf CPP zu ergänzen ein Schritt in die verkehrte Richtung.

    Im übrigen können bei weitem nicht alle UML-Konzepte in C++ oder anderen Sprachen abgebildet werden. Wie soll man z.B. einen Andwendungsfall(Use Case) in einer Programmiersprache abbilden?? Dies ist schlichtweg fast nicht möglich da ein Use Case zur Analysephase bzw. frühe Designphase erfasst wird und es hier noch viel zu früh ist irgendwelchen Code zu schreiben.

  3. Hallo,

    es gibt von hhS ein Add-In fürs Word das sich DocToHelp nennt. Mit diesem Tool kannst du einfache Worddateien zu Online-Hilfen generieren. Mit den neueren Versionen kann man auch so Internetartige Hilfen wie man sie von der MSDN kennt generieren lassen. Man erhält dann eine *.hlp-Datei und kann die dann in seinen Dialogen integrieren mit dem setzen der entsprechenden HelpContextId.

    mfg

    PGR

  4. Hallo,

    Das ist glasklar das bei deinem Codeteil eine Speicherverletzung auftreten kann. Die Variablen a und b sind hier nur Zeiger auf irgendeinen Speicherbereich(also undefiniert). Du musst daher erst einmal Speicher reservieren auf den die Zeiger a und b jeweils hinzeigen. Ansonsten kann es der Fall sein das versucht vom Betriebssystem reservierten und geschützten Speicherbereich zu schreiben. Wennst du was mit Strings machen willst würde ich mich zuerst einmal intensiv mit Pointern beschäftigen.

    mfg

    PGR

  5. Hallo,

    Das ist glasklar das bei deinem Codeteil eine Speicherverletzung auftreten kann. Die Variablen a und b sind hier nur Zeiger auf irgendeinen Speicherbereich(also undefiniert). Du musst daher erst einmal Speicher reservieren auf den die Zeiger a und b jeweils hinzeigen. Ansonsten kann es der Fall sein das versucht vom Betriebssystem reservierten und geschützten Speicherbereich zu schreiben. Wennst du was mit Strings machen willst würde ich mich zuerst einmal intensiv mit Pointern beschäftigen.

    mfg

    PGR

  6. Hallo miteinader,

    es ist meiner Meinung auf gar keinen Fall ein Fehler wenn man C++ lernt. Es mag zwar im Vergleich zu Java schwerer sein aber wenn man C++ einigermaßen beherscht tut man sich bei Java wesentlich leichter. Außerdem ist C++ wohl eine der (wenn nicht die) flexibelste Programmiersprache überhaupt. Und wer in C++ programmieren kann, kann quasi (fast) alles damit programmieren. In jedem Fall ist diese Sprache in der freien Wirtschaft wohl die am meisten verwendetste. Auch wenn Java immer mehr zu kommen scheint ist es wohl zur Zeit so das diese Sprache noch nicht reif genug für die Wirtschaft ist (Gründe dafür könnten z.B. die Performance sein).

    mfg

    PGR

  7. Hallo,

    unter http://www.gamedev.net/reference/programming/features/gpgenesis1/ findest du einen Artikel der zwar eigentlich um Gameprogramming geht jedoch aus mehreren Serien besteht, wobei sich die ersten Serien mit GDI und DirectX beschäftigen. Zusätzlich wird auch noch die Handhabung mit Win32-Applikationen erläutert. Der Text ist englisch und es wird auch nur DirectDraw erläutert. Mit Direct3D würd ich mich an deiner Stelle sowieso erst später auseinandersetzten da, dieses wiederum auf DirectDraw aufbaut. Der Artikel ist meiner Meinung nach sehr gut geschrieben und für Einsteiger geeignet. Vielleicht findest du auf der Seite www.gamedev.net noch weitere Artikel die deinen Interessen entsprechen.

    Viel Spass dabei.

    mfg

  8. Hallo Uli,

    zum kommentar von dir zu Frage 2)

    Es ist schon klar das der Ausdruck char* allein überhaupt nichts bewirkt wenn er nur so alleine dasteht. Doch könnte man die fragestellung auch nicht wie folgt interpretieren:

    Der Datentyp char* legt fest wie der Speicherplatz einer Variable dieses Typs auszusehen hat. Man könnte doch auch annehmen das sich das definiert nicht auf irgendeine Speicherplatzdefinition bezieht (was sicher naheliegend erscheint) sondern auf die DEFINITON des Datentypen char*. Was ich meine ist das ja irgenwann einmal festgelegt wurde was den ein char* eigentlich ist und wie das ganze aussieht. In unserem Fall wäre daher Antwort 4 in meinen Augen schon recht zutreffend. Man könnte ja auch anstatt char* sagen Speicherplatz_für_Adresse_eines_Characters, oder?

    Nur mal so als Anmerkung und anregung für diskussionen.

    mfg

  9. Hallo,

    zu 1) Bei dieser Frage würde ich Antwort 3 nehmen. Da höchstens der Speicherplatz einer Variablen zur Laufzeit also dynamisch reserviert werden kann und nicht die Variable selbst. Sie muss in jedem Fall im Quellcode vorhanden sein auch wenn Speicherplatz mit new usw. dynamisch reserviert wird. Die deklaration von Variablen zur Laufzeit wäre zwar machbar, es beschreibt aber keine andere antwort diese möglichkeit.

    zu 2) Bei primitiven Datentypen (wie char) ist es ja so das sie eigentlich nur die Größe des Speicherplatzes für eine Variable dessen Typs angeben. Und da char* ein Zeiger auf eine Char-Variable ist, und Zeiger immer die Adresse eines Speicherplatzes enthalten würde ich in jedem Fall Antwort 4 wählen.

    Du hast aber recht die Fragen sind wirklich blöd formuliert und man muss schon zweimal hinschauen damit man auf die Fallen nicht reinfällt. :)

  10. Hallo,

    Marcel liegt da ganz richtig. Die Grundlagenbücher von DataBecker also "Das Grundlagenbuch C" bzw. "C++" war auch meine Einstiegslektüre. Es wird dort sehr ausführlich und mit vielen Beispielen beschrieben wie man in C/C++ programmiert. Zu jedem Kapitel findet man sogar noch Übungsaufgaben und die dazugehörigen Lösungen. Es ist wirklich empfehlenswert.

  11. Hallo,

    hab als ich noch zur Schule gegangen bin bereits schon mal eine

    Wirtschaftssimulation in Turbo Pascal geschrieben, so just for fun. Grafisch

    hatte ich zwar nur 16 Farben aber es konnte sich sehen lassen(es kommt nicht unbedingt auf die Farbanzahl drauf an, sondern wie die Grafiken gestaltet sind! Was nützen einige tausend Farben wenn die Grafik schlecht ist), sogar die Soundkarte wurde schon angesprochen um die Hintergrundmusik abzuspielen. Es funktionierte ganz gut doch ich kam dann schon an die Grenzen der

    Programmgröße und bekam enorme Probleme mit Speichergrenzen unter DOS usw. konnte es aber

    lösen. Auf jeden Fall habe ich viel daraus gelernt und Erfahrungen gesammelt. Jetzt bin ich über mein zweites Spieleprojekt bei welchen es sich um ein Echtzeit-Strategiespiel handelt. Die Grafik will ich mit DirectX oder/und OpenGL realisieren. Bin momentan am entwickeln einer Grafik-Engine.

    Als Sprache würde ich auf jeden Fall C/C++ empfehlen da man hier schnelle Routinen (sehr hardwarenahe) realisiern kann und zudem ist in C++ die erstellung eines wiederverwendbares Objektmodell(Objektorientierung) möglich. VB ist

    viel zu langsam und zu unstruktiert für Spieleentwicklung (eigentlich ist es das für fast alle Softwareprojekte). Java ist meiner Meinung nach bis jetzt noch völlig ungeeignet für die Spieleentwicklung (wenn es sich nicht gerade um Spiele die direkt auf HTML-Seiten ablaufen sollen handelt). Es gibt zwar schon eine 3-D-Grafikschnittstelle für Java aber die ist im Gegensatz zu den

    anderen Schnittstellen noch sehr langsam sowie auch die Sprache selber. Tools wie man sie von Macromedia findet sind zwar einfach und schnell haben aber ihre Grenzen und sind für professionelle Spiele sicherlich ungeeignet.

    PS.: Ach ja was man noch braucht ist viel Durchhaltevermögen, diszipliniertes Arbeiten(nicht einfach drauf los schreiben), viel viel Motivation, Geduld, Bücher lesen,...

    Bei weitern erwünschten Infos über Techniken, Buchverweisen, Tipps, usw. einfach Mail an: pgmeiner@witron.de

    Viel Erfolg

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...