[Python-Dev] Python 2.4 extensions require VC 7.1?

Scott Dial scott+python-dev at scottdial.com
Sat Jun 17 14:54:06 CEST 2006


Martin v. Löwis wrote:
> For fopen(3), you are right. For signal(3), VS2005 is in clear
> violation with ISO C

I'm nobody but I don't find your argument compelling. I suggest you go 
read: http://msdn2.microsoft.com/en-us/library/ksazx244.aspx

In short, you can tell the CRT to do whatever you like when the 
parameters are invalid, including returning EINVAL.

void VS2005_CRT_invalidParamHandler(const wchar_t* expression,
    const wchar_t* function,
    const wchar_t* file,
    unsigned int line,
    uintptr_t pReserved)
) { errno = EINVAL; }

int main() {
    // Disable VS2005's parameter checking aborts
    _set_invalid_parameter_handler(VS2005_CRT_invalidParamHandler);
    // Disable message box assertions
    _CrtSetReportMode(_CRT_ASSERT, 0);

    ...
}

I went back and read more of the older discussion. And I think your 
position is that you just don't want to force another compiler on 
people, but aren't developers used to this? And if the Express Edition 
(free version) is the target, there is no monetary reason to avoid the 
upgrade. And as others have said, a VS2005 version of python is faster.

For reference, http://msdn2.microsoft.com/en-us/library/ms235497.aspx 
contains the list of CRT breakages according to MSFT.

-- 
Scott Dial
scott at scottdial.com
scodial at indiana.edu


More information about the Python-Dev mailing list