|
|
|
|
|
by briancr
134 days ago
|
|
Yes there are lots of runtime checks.. unfortunately, but I always fork the time-consuming calculations into C anyway so those checks don’t really affect overall performance much. Scripted functions have no set arity, and the same applies to callback C functions. Scripted functions collect their arguments inside an ‘args’ variable. Likewise, each C function has a single ‘argsType’ argument which collects the argument pointers & type info, and there are macros to help unpack them but if you want to do the unpacking manually then the function can be called variadically: ccInt myCfunction(argsType args) { for (int a = 0; a < args.num; a++) printf(“%p\n”, args.p[a]); return 0; } So all functions are automatically variadic. It’s good to know that these GC/etc. solutions are even used by the big languages.. |
|