6
$\begingroup$

What is the proper way to write a C MathLink function that returns nothing at all?

The following works, but I'm not sure if all this work is actually necessary:

The template file:

:Begin:
:Function:      fun
:Pattern:       fun[]
:Arguments:     {}
:ArgumentTypes: {}
:ReturnType:    Manual
:End:

The C code:

void fun() {
    MLPutSymbol(stdlink, "Null");
}

In short, here I set the return type to Manual and explicitly returned Null. Is this all necessary or is there a shorter way?

$\endgroup$
8
$\begingroup$

That's exactly what you do. You need to send something back to Mathematica, and the symbol Null is the sensible choice.

$\endgroup$
  • $\begingroup$ Hmm, and here, you were faster.. $\endgroup$ – halirutan Jan 30 '13 at 6:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.