Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!nuchat!uhnix1!sugar!peter From: peter@sugar.UUCP (Peter da Silva) Newsgroups: comp.lang.c Subject: Re: another auto-increment problem Message-ID: <868@sugar.UUCP> Date: Thu, 8-Oct-87 10:41:54 EDT Article-I.D.: sugar.868 Posted: Thu Oct 8 10:41:54 1987 Date-Received: Sun, 11-Oct-87 08:37:44 EDT References: <9600@brl-adm.ARPA> <15298@topaz.rutgers.edu> Organization: Sugar Land UNIX - Houston, TX Lines: 25 In article <15298@topaz.rutgers.edu>, ron@topaz.rutgers.edu (Ron Natalie) writes: > Certainly variable > number of arguments is easier handled by the first, but they are > forbidden in ANSI C anyway. Not in the draft I have. In fact the draft I have has syntax for handling variable numbers of arguments: printf(char *, ...); > The order is undefined not just because stack arguments may be placed > in either order, but because the call linkage is not defined by the > C language at all. The call linkage is effectively defined by "what is efficient to perform on the target macgine". Since this may vary, it's undefined in the language. In practice, it's more efficient to evaluate and stack the arguments in reverse order for conventional hardware architectures. > An implementor is free to place all the args in > an envelope and mail them to the subroutine as far as the C standard > is concerned. Well put. Personally I prefer "call by long distance" to "call by USPS" :->. -- -- Peter da Silva `-_-' ...!hoptoad!academ!uhnix1!sugar!peter -- Disclaimer: These U aren't mere opinions... these are *values*.