lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

On Thu, Feb 21, 2013 at 1:51 PM, Roberto Ierusalimschy <> wrote:
> >>Then I added
> >>
> >>
> >>#ifndef _WIN32
> >>#define __cdecl
> >>#endif
> >>
> >>static void __cdecl laction (int i) {
> >>____________+++++++
> >
> >Why is this needed?
> Because signal handlers require it:

Are you sure?  According to this page, it seems that this declaration
should not be necessary:

  This is the default calling convention for C and C++ programs.
  Because the C naming and calling conventions are the default, the
  only time you need to use __cdecl is when you have specified the /Gz
  (stdcall) or /Gr (fastcall) compiler option.

The alternative way of phrasing the above is that you need "__cdecl" there just in case the code is compiled with /Gz or /Gr.