• Show log

    Commit

  • Hash : a74dd39b
    Author : Edward Thomson
    Date : 2019-01-09T12:33:47

    Use cdecl calling conventions on Win32
    
    The recommendation from engineers within Microsoft is that libraries
    should have a calling convention specified in the public API, and that
    calling convention should be cdecl unless there are strong reasons to
    use a different calling convention.
    
    We previously offered end-users the choice between cdecl and stdcall
    calling conventions.  We did this for presumed wider compatibility: most
    Windows applications will use cdecl, but C# and PInvoke default to
    stdcall for WINAPI compatibility.  (On Windows, the standard library
    functions are are stdcall so PInvoke also defaults to stdcall.)
    
    However, C# and PInvoke can easily call cdecl APIs by specifying an
    annotation.
    
    Thus, we will explicitly declare ourselves cdecl and remove the option
    to build as stdcall.