Investigating further, this does not seem to be pushed on the
stack but set in EAX.
Hence no amount of parameter placement manipulation will work. It
actually becomes an easy situation although this will be invalid
as it will be be whatever value is in EAX used by the caller.
One cannot set
On Monday, 21 May 2018 at 02:23:27 UTC, ag0aep6g wrote:
I tried this. Your code crashes in windows dmd x86 x64.
Hm. Works for me in a virtual machine. But I'm not surprised
that it's fragile. It might be completely wrong, and it just
happens to look alright on my machine.
https://run.dlang.
I tried this. Your code crashes in windows dmd x86 x64.
Hm. Works for me in a virtual machine. But I'm not surprised that it's
fragile. It might be completely wrong, and it just happens to look
alright on my machine.
On Sunday, 20 May 2018 at 23:05:47 UTC, ag0aep6g wrote:
On 05/20/2018 06:48 PM, IntegratedDimensions wrote:
alias callback = extern(C) int function(const(void) a, void
*b, uint c, void* context);
(I'm assuming that `a` is supposed to be a `const(void)*`.)
Where context acts as this.
I would
On 05/20/2018 06:48 PM, IntegratedDimensions wrote:
alias callback = extern(C) int function(const(void) a, void *b, uint c,
void* context);
(I'm assuming that `a` is supposed to be a `const(void)*`.)
Where context acts as this.
I would like to assign a D method to this callback.
class
{
On Sunday, 20 May 2018 at 08:40:57 UTC, MGW wrote:
On Saturday, 19 May 2018 at 23:52:58 UTC, IntegratedDimensions
wrote:
I have a member callback that I want to use as a C callback.
http://www.agner.org/optimize/calling_conventions.pdf
https://www.youtube.com/watch?v=xhDS377mAc4
Sorry, I c
On Saturday, 19 May 2018 at 23:52:58 UTC, IntegratedDimensions
wrote:
I have a member callback that I want to use as a C callback.
http://www.agner.org/optimize/calling_conventions.pdf
https://www.youtube.com/watch?v=xhDS377mAc4
I have a member callback that I want to use as a C callback.
This is impossible due to the `hidden this` passed as the "first"
parameter.
The callback already makes it's last value a user pointer which I
use as a "this".
If I make my method static extern(C) then there is no crash and
every