WindowsExports ============== This class is defined in `metasm/os/windows_exports.rb` It defines an `EXPORT` constant, a Hash, whose keys are the standard win32 API symbol names, and values are the library name where you can find this symbol. The equivalent for GNU/Linux is Usage ----- The main usage of this class is the automatic generation of the import directories from the external symbols referenced by a binary during compilation. This is done in the `automagic_symbols` method. Symbols ------- The current version holds the symbols available in the Windows XP SP2 32-bit standard libraries: * `ntdll` * `kernel32` * `user32` * `gdi32` * `advapi32` * `ws2_32` * `msvcrt` * `comdlg32` * `psapi` Ruby symbols are also defined, from `msvcrt-ruby18`. Ruby library name ----------------- On creation, the current ruby library name is inferred from the `RUBY_PLATFORM` constant, in an effort to try to use the available ruby library filename. The only transformation supported now is to rewrite the ruby version number appearing in the filename for msvcrt-compiled binaries, so that you get the correct `msvcrt-ruby192` name for exemple under ruby1.9. This is implemented in the `patch_rubylib_to_current_interpreter` method (which is aptly named). Warning ####### Note that binaries compiled this way will not work on other machines where the exact same library is unavailable.