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

Reply via email to