19 April 2008

Adventures in 64-bit Windows

I stumbled across this recently, and the lesson here (as it is frequently) is don't make assumptions.

Back in the day (16-bit Windows 3.x era), all the Windows system files (KERNEL.DLL, GDI.DLL, and USER.DLL) were in the System folder.

As Windows slowly made the transition to 32-bit with things like Win32s, the System32 folder appeared as the place where all the 32-bit files lived.

Continuing through Windows 95, NT 3.1, 98, 98 SE, NT 3.5, NT 3.51, Me, and XP, this behavior was maintained, up until the present day with the train wreck known as Vista.

Despite having done some work on 64-bit systems, I never paid much attention to the details of the file structure, which is probably good, because it's crossed the line from crufty to absurd.

When you're spelunking through the Windows tree on an XP x64 or Vista x64 system, you'll see folders called System32 and SysWOW64.

The assumption you're likely to make is that System32 contains 32-bit code and SysWOW64 contains 64-bit code. Seems reasonable, right?

Well, the truth is exactly opposite.

System32 holds 64-bit code, and SysWOW64 holds 32-bit code. Crazy, right?

On OS X, I'm not on Leopard yet (I'm not even on an Intel machine yet!), so I don't know what weirdness one encounters there with 64-bit Cocoa. I think it's a safe bet, though, that it won't be as unbelievably stupid as SysWOW64.

No comments: