DLL functions -- 2: only supports functions with rank >= 1?

Hi,

I’d like to confirm if 2: supports only functions with rank >= 1. If so, what’s the rationale to disallow 0-argument functions from being called through to DLLs?

Thanks,

Freddie

Hi Freddie,

I believe this restriction is due to the fact that all functions in kdb are technically 1+ argument
functions (even if they appear to take none). Calling a function f with no arguments (e.g f) just passes
in a dummy argument to the function that is not used. So if you want to have a zero argument function in
your C code, you just define it with one argument and don’t use the argument.

Thanks

Mark Rooney
Financial Software Developer
AQUAQ Analytics

confirmed. kdb+ functions, whether in q/k or c, always take at least one argument. If unspecificied, it is identity (::)

Thanks for the confirmation. Yes, that’s my observation so far and my “work-around” as well.

Thanks for the confirmation. Yes, that’s my observation so far and my “work-around” as well.