1. A method comprising: receiving, at a host platform, a software program written for a specified guest platform different from the host platform, wherein the software program uses a set of shared objects or dynamically loaded libraries, and wherein the software program is not compatible with the host platform; emulating the specified guest platform within the host platform; determining whether the host platform has a corresponding shared object or dynamically loaded library, wherein the corresponding shared object or dynamically loaded library implements a common external interface with a specified shared object or dynamically loaded library from within the set of shared objects or dynamically loaded libraries; if the host platform has the corresponding shared object or dynamically loaded library, using the corresponding shared object or dynamically loaded library in place of the specified shared object or dynamically loaded library for execution of the software program within the host platform; and if the host platform lacks the corresponding shared object or dynamically loaded library, performing a binary translation of the specified shared object or dynamically loaded library for execution of the software program within the host platform.