Zum Inhalt springen

Gmeiner P

Mitglieder
  • Gesamte Inhalte

    11
  • Benutzer seit

  • Letzter Besuch

  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. Gmeiner P

    Fragen zu C++

    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. Gmeiner P

    Fragen zu C++

    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.

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...