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

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

491

11.01.2015, 21:01

C-/C++-Quelltext

1
2
3
4
5
6
7
void memcpy(void *dst, const void *src, uint32 size)
{
    byte *src0 = (byte*)src;
    byte *dst0 = (byte*)dst;
    while(size--)
        *src0++ = *dst0++;
}

Und darum, liebe Kinder, sollte man keine C-Casts verwenden :D

Kinder sollten sowieso nicht C oder C++ verwenden!
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

492

11.01.2015, 22:03

Man sollte auch gar nicht "memcpy" selbst neu implementieren. Die Funktion gibt es seit C89.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

493

12.01.2015, 06:41

Man sollte sowas nicht selbst implementen. Wenn doch, dann sollte man wohl wenigstens eine schnelle Variante bauen. Es gibt einen speziellen Assembler-Befehl, der genau das tut (einen einzigen, nicht mehrere mit compares und jumps, etc). Das da ist einfach nur langsam und zudem auch noch falsch. Vermutlich ist das zusätzlich auch noch premature optimization.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

494

12.01.2015, 08:18

OS Dev ;)

xTr1m

1x Rätselkönig

Beiträge: 47

Wohnort: Rheinland-Pfalz

Beruf: Softwareentwicklung

  • Private Nachricht senden

495

12.01.2015, 10:05

Ich habe mal einen SSE2 memcpy und memzero geschrieben, weil der ausm C std zu lahm war.

Schrompf

Alter Hase

Beiträge: 1 470

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

496

12.01.2015, 10:31

Lad ihn mal irgendwo hoch :-)
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

497

12.01.2015, 17:35

Bei einer guten Standardbibliothek sollte das bereits mit SSE implementiert sein.

Nimelrian

Alter Hase

Beiträge: 1 216

Beruf: Softwareentwickler (aktuell Web/Node); Freiberuflicher Google Proxy

  • Private Nachricht senden

498

16.01.2015, 09:36

Quellcode

1
2
# Scary!
rm -rf "$STEAMROOT/"*


Aus dem offiziellen Steamrelease für Linux...
Ich bin kein UserSideGoogleProxy. Und nein, dieses Forum ist kein UserSideGoogleProxyAbstractFactorySingleton.

499

21.01.2015, 11:13

PHP-Quelltext

1
2
3
$result = ['success' >= true];
// ...
echo json_encode($result);

Der Zeichendreher ist mir erst auf den zweiten Blick aufgefallen und sorgte davor erst mal für Verwirrung. :D

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

500

21.01.2015, 11:46

Hier etwas spannendes aus der alten VB6-Welt. In VB6 gibt es keine logischen verknüpfungen (&&, ||) sondern nur die arithmetischen &, |) und dadurch lassen sich gewisse If-Bedingungen nicht verketten sondern müssen geschachtelt werden. ODER diese wie ich finde äußerst kreative Lösung (Teils PseudoCode):

Quellcode

1
2
3
4
5
6
7
8
Dim i as Long
For i = 1 To 1 Do
    if Bedingung1 Then Break
    if Bedingung2 Then Break
    if Bedingung3 Then Break
    if Bedingung4 Then Break
    DoSomeCode
Next


Auf die Idee muss man erstmal kommen :D

Werbeanzeige