PDA

View Full Version : Yellow Box for Windows binary format


ajbrehm
12-20-2007, 08:47 AM
I couldn't find any Yellow Box programs anywhere on the net, hence cannot answer these questions myself.

What binary format did Yellow Box for Windows programs use? Mach-O (like Cocoa/NEXTSTEP) or EXE/PE (like other 32-bit Windows programs?)

Did Yellow Box make Windows understand bundles?

How was Yellow Box implemented on Windows? Was it just a bunch of DLLs like QT?

leeharveyosmond
12-22-2007, 08:20 AM
It used the native windows format, PE32 (platform executable)

Yes it made and understood bundles; there were some gotchas. Some of these were useful; DLLs are found by searching by name through %PATH, rather than having their paths embedded in your binary (as per Mach-O) and then having those paths be fiddlable by the environment variables observed by dyld.


Yes it was (mostly) just a bunch of DLLs. There were one or two support processes like machd.exe and pbs.exe .

The fun bit was PE32 and not PE32+; Microsoft introduced a new variant in whichever OS they released in Fall 1998, and the gcc 2.7.2 toolchain supplied with YellowBox Developer wouldn't touch PE32+ binaries. This bit affected me because I needed to use OpenSSL and I could neither build that myself nor use the prebuilt libs; at least, not directly. I figured out how to use Microsoft's platform SDK to get a contemporary lib.exe (or whatever it was called), produce a description of the .lib import libraries' contents, use that as input to the YellowBox Developer link.exe .... and create a PE32 import library for a PE32+ DLL. That worked, but debugging got interesting.

ajbrehm
12-22-2007, 12:24 PM
Excellent! Thank you.