Ich verwende dllImport, um eine C-Bibliothek in C# .NET zu verwenden. Eine der Methoden in dieser Bibliothek verwendet den Datentyp void * als Parameter. Ich habe herausgefunden, dass ich den Datentyp IntPtr in C# verwenden kann, der dem void * entspricht.Wie "füllen" Sie einen IntPtr-Parameter mit einem Gleitkommawert?
Jetzt weiß ich einfach nicht, wie man den Wert dieses IntPtr-Parameters einstellt. Tatsächlich möchte ich einen Gleitkommawert in diesen Parameter setzen. Wie würde ich das tun?
Vielen Dank im Voraus für jede Idee. Simone
Soll ein Gleitkommawert als Wert oder als Zeiger übergeben werden? Also 'float' oder 'float *' anstelle von 'void *'? –
Sie können Ihre Frage auf drei verschiedene Arten beantworten. Sie müssen die Frage klären, um die richtige Antwort zu erhalten. Die drei Möglichkeiten sind: (1) Wie mache ich ein 32 Bit intptr, das genau die gleichen Bits wie ein 32 Bit Float hat? (2) Wie mache ich ein intptr, das die Adresse einer Variablen enthält, die einen Float enthält? Oder (3) Wie nehme ich ein intptr, das eine gegebene Adresse einer Variablen enthält, und ersetze den Inhalt dieser Variable durch den gegebenen float? –