The Omni Group Forums

The Omni Group Forums (http://forums.omnigroup.com/index.php)
-   Omni Lounge (http://forums.omnigroup.com/forumdisplay.php?f=24)
-   -   Yellow Box for Windows binary format (http://forums.omnigroup.com/showthread.php?t=6409)

ajbrehm 2007-12-20 07:47 AM

Yellow Box for Windows binary format
 
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 2007-12-22 07: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 2007-12-22 11:24 AM

Excellent! Thank you.


All times are GMT -8. The time now is 07:00 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.