How to implement functions with several return values in C?
Unlike C, SAC supports functions with any number of return values. These may easily be implemented by a C function from an external module. The first return value becomes the only return value of the C function; all remaining return values are added at the beginning of the function’s parameter list, each being referenced once more, e.g. the SAC function int, int[], bool, char fun( float a, double[] b) may be implemented by the C function int fun( int **, int *, char *, float a, double *b). However, this might not always suit your needs, particularly if the signature of your C function is already given. In such cases, the pragma linksign (see ) allows you to adjust the function’s signature to your specific needs.