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

1

15.08.2005, 19:59

Garbage Collector - Nicht kompillierbar

Hallo Leute

Ich versuche seit 6 Stunden den Garbage Collector zu kompilieren -

leider habe ich nur VC 7.0 und das ist leider anscheinend nicht kompatiebel (.mak können nicht konvertiert werden).
auch es mittels Commandozeile zu kompillieren (nmake) schlug fehl, da er keine einzige Includedatei bzw. .lib findet (Kopiert man die Dateien einfach hinzu, wird es nur schlimmer).
leider habe ich kein VC 6.0 so kann ich es nicht mit diesem kompillieren.

so frage ich mich ob ihr "zufällig" schon ein Version (.dll u. .lib) für C++ kompillert habt (einmal in Debug mit MemoryLeak-Überwachung) und einmal in Release, die ihr mir schicken könntet (markus@lanner.cc)

oder vielleicht kennt ihr einen anderen Speichermanager der auch Speicherleaks findet (für C++)

Das wär echt super

Markus

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »qwertzui11« (13.12.2010, 22:37)


Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

2

15.08.2005, 21:58

Wenn du die cpp und die header hast(habe jetzt nicht nachgeschaut ^_^), dann füg die doch einfach in ein eigenes Projekt ein.
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.

3

15.08.2005, 22:20

hmmm.... aber wenn ich's kompilliere dann meint er es gibt einen LNK-Error - aber die Idee is net schlecht, werd ich mir genauer angucken, danke schonmal

mfg Markus

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »qwertzui11« (13.12.2010, 22:38)


4

16.08.2005, 09:35

Es sol keiner sagen ich hätte es nicht versucht - Das Problem es gibt 16 LNK2005-Errors. In der Doku steht, dass entweder Symbole doppelt definiert sind oder dass es Probleme mit Multi- und Singlethreading gibt... Da kenn ich mich nur leider gar nicht aus.

Kennt ihr nicht zufällig einen anderen Speichermanager, der auch auf Speicherleaks reagiert? (in C/C++)

Oder andere Frage: Reagiert der Speichermanager von der TriBase auch Leaks? nicht oder? der ist eher darauf ausgelegt am Ende alles wieder freizugeben, oder?

Merkt man, dass ich dauernd Speicherleaks habe? :)

mfg Markus-Lanner

Phil_GDM

Alter Hase

Beiträge: 443

Wohnort: Graz

Beruf: Student-Softwareentwicklung u. Wissensmanagement

  • Private Nachricht senden

5

16.08.2005, 10:16

Poste diese Fehlermeldungen doch mal

mfg Philipp

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

6

16.08.2005, 10:28

MS VC 2003 .net: Projekt->Eigenschaften->C/C++->Codeerstellund->Laufzeitbibi auf multithreading stellen.
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.

7

16.08.2005, 12:01

Stell ich es um wie Nox es meint

So kommt nur mehr der Fehler:

C-/C++-Quelltext

1
LINK : fatal error LNK1104: Datei '.\Debug\gc_cpp.obj' kann nicht geöffnet werden


Erstelle ich es dann nochmal neu kommen diese Fehler (es hat sich nix geändert :( )

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Verknüpfen...
alloc.obj : error LNK2005: _GC_version bereits in add_gc_prefix.obj definiert
gc_cpp1.obj : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) bereits in gc_cpp.obj definiert
gc_cpp1.obj : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) bereits in gc_cpp.obj definiert
gc_cpp1.obj : error LNK2005: "void * __cdecl operator new[](unsigned int)" (??_U@YAPAXI@Z) bereits in gc_cpp.obj definiert
gc_cpp1.obj : error LNK2005: "void __cdecl operator delete[](void *)" (??_V@YAXPAX@Z) bereits in gc_cpp.obj definiert
gc_cpp1.obj : error LNK2005: "void * __cdecl operator new(unsigned int,int,char const *,int)" (??2@YAPAXIHPBDH@Z) bereits in gc_cpp.obj definiert
gcname.obj : error LNK2005: _main bereits in add_gc_prefix.obj definiert
gcname.obj : error LNK2005: _GC_version bereits in add_gc_prefix.obj definiert
if_mach.obj : error LNK2005: _main bereits in add_gc_prefix.obj definiert
if_not_there.obj : error LNK2005: _main bereits in add_gc_prefix.obj definiert
setjmp_t.obj : error LNK2005: _main bereits in add_gc_prefix.obj definiert
threadlibs.obj : error LNK2005: _main bereits in add_gc_prefix.obj definiert
gcc_support.obj : error LNK2019: Nicht aufgelöstes externes Symbol '___default_new_handler', verwiesen in Funktion '___builtin_new'
gcc_support.obj : error LNK2001: Nichtaufgelöstes externes Symbol ___new_handler
setjmp_t.obj : error LNK2019: Nicht aufgelöstes externes Symbol '_getpagesize', verwiesen in Funktion '_main'
Debug/Garbage Collector.dll : fatal error LNK1120: 3 unaufgelöste externe Verweise

Das Build-Protokoll wurde unter "file://c:\aaaMarkus\Proggen\c++\Utilities\Garbarge Collector\Garbage Collector\Debug\BuildLog.htm" gespeichert.
Garbage Collector - 16 Fehler, 608 Warnung(en)


---------------------- Fertig ----------------------



mfg Markus

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »qwertzui11« (13.12.2010, 22:38)


Phil_GDM

Alter Hase

Beiträge: 443

Wohnort: Graz

Beruf: Student-Softwareentwicklung u. Wissensmanagement

  • Private Nachricht senden

8

16.08.2005, 12:29

Mit diesen Meldungen kann ich leider nicht viel anfangen :(
Wie hast du das Projekt den erstellt Projekttyp etc.?
In der Readme steht, dass das Ding nur als statische Lib funktioniert, also kannst du DLL schon mal vergessen, außerdem ist das Ding wies scheint unter Linux entwickelt worden (für Windows gibt es eine eigene Makefile).

Wenn ich du wäre, würde ich mir entweder einen GC suchen der unter Windows entwickelt wurde oder einfach versuchen meine Memory-Leaks zu finden und auszubessern.

Ich glaube das wäre weniger Arbeit als so einen GC zu suchen und zum Laufen zu bringen

mfg Philipp

9

16.08.2005, 12:47

Bin schon auf der Suche...

Hab mir überlegt so einen Speichermanager selbst zusammenzuproggen, ist ja nicht soviel Arbeit...

Ich hab nur ein Problem (finde im INet nix dazu)

wenn ich Speicher allokoiere und dann prüfen will ob er auf einen falschen Speicherbereich zugreift, wie rufe ich das ab?

C-/C++-Quelltext

1
2
int *i = (int*)wm_malloc(sizeof(int)*2);
i[3] = 3 // --> Fehler!!! er überschreibt "fremden" Speicher. wie rufe ich das ab??


Bei mir ergibt das zugreifen auf "fremden" Speicher "lustigerweise" keinen Fehler...

mfg Markus

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »qwertzui11« (13.12.2010, 22:38)


Phil_GDM

Alter Hase

Beiträge: 443

Wohnort: Graz

Beruf: Student-Softwareentwicklung u. Wissensmanagement

  • Private Nachricht senden

10

16.08.2005, 13:08

Sieh doch mal hier
http://www.devarticles.com/c/a/Cplusplus…or-C-plus-plus/
http://www.codeproject.com/cpp/gc.asp
http://www.codeproject.com/cpp/garbage_c….asp?print=true


Ps: Ob das Programmieren von so einen GC wirklich nicht so viel Arbeit ist, Naja ich weiß ja nicht ... :ohoh:

mfg Philipp

Werbeanzeige