Suchergebnisse

Suchergebnisse 1-9 von insgesamt 9.

  • Benutzer-Avatarbild

    C/C++ zu C# Convertieren

    jvbsl - - Sonstige Problemstellungen

    Beitrag

    das passendste für char** ist in C# sbyte**. Aber um das zu verwenden was am geschicktesten zu verwenden ist, muss man Wissen, was C++ damit macht. Es könnte auch ref sbyte* passend sein oder out sbyte*. Ist das ein Parameter der von innen gesetzt wird, oder ist es reiner Input?

  • Benutzer-Avatarbild

    C/C++ zu C# Convertieren

    jvbsl - - Sonstige Problemstellungen

    Beitrag

    Das muuss weder vorher noch nachher genullt werden. Vorher nicht, weil die variable hoffentlich von der Funktion überschrieben wird(bzw. Man einen Status zurück bekommt). Und am ende auch nicht. Das macht man eher wenn nicht ganz klar ist wann es sich um einen gültigen ptr handelt und wann nicht und macht dann das Debugging einfacher, mehr aber nicht. char* im allgemeinen kann in C# alles was du genannt hast sein, außer char[] da ein char in C# 16bit groß ist und in c(++) 8bit. Außerdem ist es i…

  • Benutzer-Avatarbild

    C/C++ zu C# Convertieren

    jvbsl - - Sonstige Problemstellungen

    Beitrag

    Was ich auch geschrieben habe^^

  • Benutzer-Avatarbild

    C/C++ zu C# Convertieren

    jvbsl - - Sonstige Problemstellungen

    Beitrag

    Danke, hatte ich bisher noch nirgends, ist mir deshalb nie aufgefallen.

  • Benutzer-Avatarbild

    C/C++ zu C# Convertieren

    jvbsl - - Sonstige Problemstellungen

    Beitrag

    Wie viele bytes ergeben denn einen pixel? Du könntest einen code machen, der die pixel auf long basis invertiert statt byte, da bekommste bestimmt einiges raus, parallelisierbar ists sogar auch.

  • Benutzer-Avatarbild

    C/C++ zu C# Convertieren

    jvbsl - - Sonstige Problemstellungen

    Beitrag

    Also 255 - x wobei x E [0;255] ist ja äquivalent zu ~x. Einfach die bits invertieren. Deshalb kannst du einerseits einfach ~x verwenden und andererseits das ganze auch mit long machen. d.h. du verwendest statt byte* eben long* und machst ebenfalls ~x, jedoch hält ein long 2 2/3 Pixel. D.h. du musst am ende evtl noch was zusätzlich machen. Pseudo: C#-Quellcode (12 Zeilen)

  • Benutzer-Avatarbild

    C/C++ zu C# Convertieren

    jvbsl - - Sonstige Problemstellungen

    Beitrag

    Also diese struct ist zwar schön, aber für die perf bringt sie dir nivhts. Das mit long hat schon seinen Grund, schließlich hast du ~1/8 der invertier aufrufe und Sprünge, das ist einiges...

  • Benutzer-Avatarbild

    C/C++ zu C# Convertieren

    jvbsl - - Sonstige Problemstellungen

    Beitrag

    Performance technisch nein. Der Sinn des longs ist, dass du mehrere bytes auf einmal invertierst und nicht jedes byte einzeln. Die struct ist zwar ansich schön und wäre auch der weg den ich nehmen würde, aber wenn es um Performance geht, dann muss man das ganze halt anders angehen.

  • Benutzer-Avatarbild

    C/C++ zu C# Convertieren

    jvbsl - - Sonstige Problemstellungen

    Beitrag

    Genau, ist anders leider nicht möglich. wäre es ARGB(also 4 Bytes), dann wäre es einfacher. Naja eine weiter Möglichkeit wäre natürlich dann auf die Grafikkarte auslagern^^