On Sun, Mar 1, 2015 at 10:55 PM, J Decker <d3ck0r at gmail.com> wrote:
> On Sun, Mar 1, 2015 at 9:22 PM, Keith Medcalf <kmedcalf at dessus.com> wrote: > > > >I do not know if this is the case, but typically Windows creates names > > >like > > >_sqlite3_db_filename at X (where X is a number) if a function is defined > as > > >stdcall. It doesn't *have* to do this, but that's the convention used by > > > > the <symbol>@X is used to include the ordinal reference (@X) in the > symbol > > since you can link by either name or ordinal (or, in the case of > specially > > constructed libraries, by both having to match). > > 1) the @X is the size of paramters pushed on the stack. > 2) (something else in another mail that irked me) It's not a 'default > calling convention for windows' it's a default calling convention for some > compilers; and doesn't have be even be on windows. > 1. I didn't see you'd already explained the @X meaning. Sorry for duplicating your answer. 2. Just in case you meant me, I was not trying to say it is the default calling convention for windows. I was saying that appending "@X" to the symbol is the default convention used by (at least) Microsoft compilers when using the stdcall calling convention. It's a confusing bit of terminology what with multiple applications of the word "convention" so I just wanted to clarify what I meant. I understand Windows does not require everyone to use stdcall for their own APIs and such. -- Scott Robison