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

Faule Socke

Community-Fossil

  • »Faule Socke« ist der Autor dieses Themas

Beiträge: 1 915

Wohnort: Schreibtischstuhl

  • Private Nachricht senden

31

18.08.2006, 16:30

Zitat von »"Osram"«

Nicht schlecht, aber man kann es noch beschleunigen.

Zitat von »"Faule Socke"«


C-/C++-Quelltext

1
        ZeroMemory(pcNewString, sizeof(pcNewString));



Ist überflüssig.


Zitat von »"Faule Socke"«


C-/C++-Quelltext

1
        while(iCurrChar < (iLengthOfNewString - 1) && i < iLengthOfString2)



Eine der Abfragen würde reichen.


Hierbei habe ich auf sicherheit gesetzt.(Obwohl sich da zwar kaum ein Fehler einschleichen kann ist es möglich(durch überhitzungen und so ne kakeoder wenn ne andere Anwendung irgendwie an den Speicher rankommt.))

Ausserdem hat die Funktion nicht von anfang an Funktioniert, so dass ich erstmal den Debugger anwerfen musste.(Die komishcen zeichen in der Variable haben mich dann irgendwie iritiert, und ich hab halt ein ZeroMemory eingebaut!!!)


mfg,

Faule Socke

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

32

18.08.2006, 17:23

Wenn der PC schon Fehler wegen Überhitzung ausspuckt dann wird eine zusätzliche Abfrage dich nicht retten :badgrin:

Faule Socke

Community-Fossil

  • »Faule Socke« ist der Autor dieses Themas

Beiträge: 1 915

Wohnort: Schreibtischstuhl

  • Private Nachricht senden

33

18.08.2006, 20:30

Zitat von »"grek40"«

Wenn der PC schon Fehler wegen Überhitzung ausspuckt dann wird eine zusätzliche Abfrage dich nicht retten :badgrin:


Ich rede hier ja nicht von meinem PC, aber die Sommer werden heisser und der Winter ist auch nicht mehr das was er mal war!!!

Aber ihr könntet mir ja mal ein paar vorschläge machen, wie ich die Funktion so optimieren kann, das sie noch schneller und auch sicherer wird.


mfg,

Faule Socke

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

34

19.08.2006, 00:39

C-/C++-Quelltext

1
FASTSTREAM_API char* fsStringCat( char *pcString1, char *pcString2, char* pcDest = 0, int Dest_count = 0 );


Damit gibst du zumindest die Möglichkeit, dass der Nutzer einen Zielstring übergibt und kein Speicher allokiert wird.

35

19.08.2006, 00:59

mit dest_count meinst de warscheinlich die max lenge die das haben darf wenn die zusammen gesetzt sind? ;D
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

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

36

19.08.2006, 01:01

genau

Faule Socke

Community-Fossil

  • »Faule Socke« ist der Autor dieses Themas

Beiträge: 1 915

Wohnort: Schreibtischstuhl

  • Private Nachricht senden

37

07.09.2006, 21:31

Zitat von »"grek40"«

C-/C++-Quelltext

1
FASTSTREAM_API char* fsStringCat( char *pcString1, char *pcString2, char* pcDest = 0, int Dest_count = 0 );


Damit gibst du zumindest die Möglichkeit, dass der Nutzer einen Zielstring übergibt und kein Speicher allokiert wird.


Dazu ist mir schon etwas eingefallen: ein Speichermanager.

Ich denke aber noch über das konzept nach(ich bin noch am überlegen, wie ich die Zieladdressen der Reservierten Speicherbereiche Speichern soll, und hinterher einzelnd wieder löschen(mit delete).
Aber das gehört hier net hin.!!

mfg,

Faule Socke

Werbeanzeige