Hacker News new | past | comments | ask | show | jobs | submit login

What I would like in C is a way to specify an argument list. And be able to slop them around and call functions with them later.

So perhaps foo(args) means foo takes a list of arguments unspecified.




You can approximate an argument list using compound literals as long as 0/NULL is an acceptable default value. It's a bit noisy, but it works something like this if I remember right:

    result = foo(&(struct foo_args){.arg1 = 4, .arg7 = "2"})



There are libraries for this like GNU ffcall and libffi.


Looked at those. Problem with libffi is it wasn't ported to a 32 bit arm. And the interface is 'clunkie'

I think what I want is llvm's blocks. Which isn't available in gcc.


Like va_list in vprintf ?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: