From: Eli Z. <el...@gn...> - 2013-05-28 20:15:50
|
> Date: Tue, 28 May 2013 15:09:22 -0400 > From: Earnie Boyd <ea...@us...> > > On Tue, May 28, 2013 at 12:49 PM, Eli Zaretskii wrote: > >> Date: Tue, 28 May 2013 18:59:20 +0300 > >> From: Eli Zaretskii <el...@gn...> > >> > >> My reading of the patch is that time_t will by default be a 64-bit > >> type, and that the only way to get a 32-bit time_t is to define > >> _USE_32BIT_TIME_T, which will only work on Vista and later. Is that > >> right? > > > > Btw, on a 64-bit Windows 7 system, if I step into the library function > > 'time' in a program compiled with MinGW runtime 3.20, I see that > > 'time' in msvcrt.dll jumps directly to 'time32', although > > _USE_32BIT_TIME_T was not used during the build. Is this something > > that MinGW arranges for (and if so, how)? Or is this msvcrt.dll in > > SysWOW64, which knows that the process is a 32-bit one, and therefore > > automatically redirects to a 32-bit function? > > Mingwrt 3.20 defaulted to 32bit time_t based on the value of __MSVCRT_VERSION__. Right, but I was asking about the function time32, which is not mentioned in 3.20. > I am trying to overcome the lameness of having various versions of the > default system runtime depending on OS. I have shortened > __MSVCRT_VERSION__ to MSVCRT_VERSION since I mean for it to be based > on which OS is being supported (I.E. which version of MSVCRT.DLL) > rather than which library is being used. Yes, I understand. What I didn't find was a way to get a 32-bit time_t in a program that would run on XP and newer systems. With 3.20, we have that in the default build, but I see no such way, even a non-default one, in the patches to which you pointed. Maybe I'm missing something. |