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

Fix

Frischling

  • »Fix« ist der Autor dieses Themas
  • Private Nachricht senden

1

27.12.2005, 11:17

tbMemReAlloc() -> crash

hi, ich habe mir das buch 3d spieleprogrammierung mit directx9 und c++ 2. auflage gekauft und macht bis jetzt einen guten eindruck.
bin jetzt im moment gerade dran so bisschen sachen auszuprobieren die da erklärt werden, wennich aber tbMemReAlloc() verwende crasht mein programm, und zwar
tbMemReAlloc(pData,tbMemGetSize(pData)+100);
sowie
tbMemReAlloc(pData,-100);

wenn ich aus der zeile nen kommentar mache und neu kompiliere crasht mein programm nicht mehr.

kann es sein dass das in einer dos anwendung nicht funktioniert?

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
24
25
26
27
28
29
#include <TriBase.h>
#include <iostream>

using namespace std;
int bla;

void main()
{
    tbInit();

    void* pData=tbMemAlloc(100);

    if(pData)
    {
        cout<<"100 Bytes Memory allocated\n";
    }

    cout<<"Memory Size: "<<tbMemGetSize(pData)<<"\n";

    tbMemReAlloc(pData,tbMemGetSize(pData)+100);

    if(tbMemIsValid(pData))
    {
        cout<<tbMemGetSize(pData)<<" Bytes valid Memory!\n";
    }

    cin>>bla;
    tbExit();
}

__stdcall*

Treue Seele

Beiträge: 101

Wohnort: Dauchingen

Beruf: Schüler

  • Private Nachricht senden

2

27.12.2005, 13:40

Hi,

man sollte die TriBase Engine mit einem Win32 Projekt benutzen.

mach mal ein Win32 Projekt daraus und schau ob es dann funktioniert.

__stdcall*
[ICQ: 194-584-442 | MSN: nos4_9@hotmail.de | X-Fire: shadowstalker45]

Anonymous

unregistriert

3

27.12.2005, 13:46

__stdcall*
Was hat den Speicherallokierung mit dem Programmtyp zu tun? Gar nichts.

p.s.: Wenn ich noch 1x

C-/C++-Quelltext

1
void main()
sehe ist hier aber was los Du. Mach den Scheiß da weg.

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

4

27.12.2005, 13:55

so muss es heißen:

C-/C++-Quelltext

1
pData = (void*)tbMemReAlloc(pData,tbMemGetSize(pData)+100);

Fix

Frischling

  • »Fix« ist der Autor dieses Themas
  • Private Nachricht senden

5

27.12.2005, 14:28

hm danke evil tut mir leid dassich zu dumm zum lesen bin ;)

@nix da: was hast gegen void main? dann brauchich kein return ausserdem schreibich hier ja nur n kleines programm um engine funktionen zu testen...

Anonymous

unregistriert

6

27.12.2005, 14:32

Fix
Lass es nicht drauf ankommen das ich wieder ein 4-Seitigen Kommentar abgebe, wieso man void man nicht benutzen sollte. Und für das "Argument": "Da brauch ich kein return 0;" sollte man schon ein Strafverfahren einleiten oder Dein Compiler Dich hinrichten.

void main - wie pervers.

Werbeanzeige