C binding with D function
llaine via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Thu Aug 4 03:36:05 PDT 2016
On Wednesday, 3 August 2016 at 16:09:15 UTC, bachmeier wrote:
> On Wednesday, 3 August 2016 at 15:56:34 UTC, llaine wrote:
>> Okay on stack overflow, they are not using ffi but dl.
>> I tried changing ffi to dl, it's the same don't work
>> unfortunatly.
>
> That's about as far as I can go without having it set up on my
> machine. The procedure should be the same as I spelled out
> though. You need to create an extern(C) function that calls
> Runtime.initialize(). Then you call that function from Ruby the
> same as any other function you call with FFI. I'm familiar with
> the R FFI and the only difference is that some parts of that
> are automated.
Thank's for the help.
By creating two methods initialize/terminate using
Runtime.initialize() it's crashing with this strange error.
I looked at the core.runtime source file and I saw a C binding
for thoses one :
https://github.com/dlang/druntime/blob/master/src/core/runtime.d#L36
/// C interface for Runtime.initialize, returns 1/0 instead of
bool
extern(C) int rt_init();
/// C interface for Runtime.terminate, returns 1/0 instead of bool
extern(C) int rt_term();
Any idea how can I call them ?
More information about the Digitalmars-d-learn
mailing list