Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

11

05.08.2008, 10:34

Zitat von »"Nox"«

In meinem aktuellen Projekt haben wir das problem, dass

[...]

#define new new(_NORMAL_BLOCK, __FILE__, __LINE__)

[...]


puh, also sowas halte ich für äußerst unsauber. schonmal dran gedacht den operator new zu überladen oder bei containern mit eigenen allokatoren zu arbeiten!?


wenns ums finden von memleaks mit visual studio geht:

pack folgenden funktionsaufruf an den anfang deiner main funktion:

C-/C++-Quelltext

1
_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); 


genaueres gibts hier:

http://msdn.microsoft.com/en-us/library/e5ewb1h3.aspx

Das Gurke

Community-Fossil

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

12

05.08.2008, 10:48

Zitat von »"rklaffehn"«

"Soviel wie nötig, so wenig wie möglich."

Das triffts doch mal auf den Kopf. Bei mir werden nur die Header includiert, die ich nicht durch Vorwärtsdeklaration umgehen kann. Spart Kompilierzeit =)

Anonymous

unregistriert

13

05.08.2008, 10:55

Zitat von »"rklaffehn"«

"Soviel wie nötig, so wenig wie möglich."
Du nimmst anscheinend Laxoberal?

14

05.08.2008, 11:27

@Das Gurke: dann wäre <iofwd> was für dich :P Is Foreward-Header für die Standard-C++ Header ;)
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

Nox

Supermoderator

  • »Nox« ist der Autor dieses Themas

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

15

05.08.2008, 11:39

@dot schau dir doch bitte meinen geposteten Block und dein gepostetet link genauer an und danach noch diesen link:

http://support.microsoft.com/kb/140858/en-us/

Falls das jedoch nicht mehr aktuell sein sollte, wäre es mir eine große freude eben dieses define zu eleminieren.


EDIT:

Okay wie mir scheint ist dieses Problem mittlerweile behoben worden. Gleich mal testen.

Zitat

#if defined(_CRTDBG_MAP_ALLOC) && defined(_CRTDBG_MAP_ALLOC_NEW)
/* We keep these inlines for back compatibility only;
* the operator new defined in the debug libraries already calls _malloc_dbg,
* thus enabling the debug heap allocation functionalities.
*
* These inlines do not add any information, due that __FILE__ is expanded
* to "crtdbg.h", which is not very helpful to the user.
*
* The user will need to define _CRTDBG_MAP_ALLOC_NEW in addition to
* _CRTDBG_MAP_ALLOC to enable these inlines.
*/
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Anonymous

unregistriert

16

05.08.2008, 13:00

Wie schon mehrfach gesagt, moeglichtst alle inlcudes rauswerfen und durch forward Deklarationen ersetzen, denn das macht das Kompilieren schneller. Natuerlich fehlt diese Auswahl bei der Umfrage... f'`8k

[ ] Autocogito


Gruß, TGGC (making great games since 1992)

Nox

Supermoderator

  • »Nox« ist der Autor dieses Themas

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

17

05.08.2008, 14:20

Hmm wenn dies gewünscht ist, könnte ich eine neue Umfrage mit eben dieser Auswahl aufmachen. Ich gebe zu, das einige diese Antwort hier gerne hätten und ich sie schlicht weg vergessen habe.

EDIT:
die kennen zwar das Problem mit dem new, aber gelöst haben die das nicht wirklich. Aber ich bin gerne für Vorschläge, wie man das define new eleminieren kann, immer zu haben.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

rklaffehn

Treue Seele

Beiträge: 267

Wohnort: Braunschweig

  • Private Nachricht senden

18

06.08.2008, 07:24

Zitat von »"unsigned long"«

Du nimmst anscheinend Laxoberal?


Was auch immer das jetzt ist... also nein.
God is real... unless declared integer.
http://www.boincstats.com/signature/user_967277_banner.gif

p0llux

Treue Seele

Beiträge: 101

Wohnort: Aachen

Beruf: HiWi (theo. Inf.)

  • Private Nachricht senden

19

06.08.2008, 11:02

Zitat von »"rklaffehn"«

Was auch immer das jetzt ist... also nein.


Mein nicht-deterministisches +2 Orakal sagt dazu http://www.google.de/search?q=laxoberal&…lient=firefox-a

20

20.08.2008, 23:40

[x] Sie sind unübersichtlich/unschön


nur leider lassen sie sich imo manchmal einfach nicht vermeiden (?), hab jedenfalls oft keine lösungen gefunden.

finds persönlich halt unschön in ner headerfile eigene includes zu haben, denn der header ist ja eigentlich nur für eine "vordefinierung des codes" zuständig und da sind bibliotheken und das einbinden anderer files iwie unnötig.

Werbeanzeige