Xref: utzoo comp.lang.c:8807 comp.sys.ibm.pc:14007 Path: utzoo!utgpu!water!watmath!clyde!att-cb!att-ih!chinet!bigtex!james From: james@bigtex.uucp (James Van Artsdalen) Newsgroups: comp.lang.c,comp.sys.ibm.pc Subject: Re: cdecl keyword Keywords: cdecl MicroSoft C keywords Message-ID: <1443@bigtex.uucp> Date: 3 Apr 88 21:33:23 GMT References: <1238@wjvax.UUCP> <297@ho7cad.ATT.COM> <1242@wjvax.UUCP> <3867@super.upenn.edu> <185@premise.ZONE1.COM> Reply-To: james@bigtex.UUCP (James Van Artsdalen) Organization: F.B.N. Software, Austin TX Lines: 21 IN article <185@premise.ZONE1.COM>, chang@premise.ZONE1.COM (John Chang) wrote: > > [...] C uses pass-by-value for everything. > ^^^^^^^^^^ What about arrays? In C, arrays are _never_ passed to functions. Only the addresses of arrays. These are passed by value only. > The extra instruction needed to pop the stack after a function call > seems unimportant, yet I once heard Microsoft claim that the change to > pascal calling convention made Microsoft Windows "substantially" > smaller and faster. I don't remember the figures, but they were > hard to believe. Hard to believe, but true. Ultima IV became several K smaller and noticeably quicker after the conversion. Unfortunately, I don't remember the numbers either, but it was enough to be worth the trouble (though to be fair, a game must make especially pessimistic assumptions concerning available memory and processor speed). -- James R. Van Artsdalen ...!uunet!utastro!bigtex!james "Live Free or Die" Home: 512-346-2444 Work: 328-0282; 110 Wild Basin Rd. Ste #230, Austin TX 78746