现代“x86”芯片至少理解三套不同的指示,即监督事务司使用的16个比值,以及各种窗户和坡道使用的32和64个比值。
尽管芯片相同,而且可能以同样的方式运作,但方案与东道操作系统互动,以获得服务(如投入/产出)的方式也大不相同。
除最三边方案外,所有方案都倾向于利用外部图书馆提供共同业务援助(加强业务、格式化投入和产出、数学、非部落网络等),以便它们不必从分头书写。 但是,这些现有图书馆的准确收集,以及同样重要的是,请求和与这些图书馆互动的手段,视东道国业务制度的不同而有所不同。 或许,你可以把图书馆与你的申请(法定联系)结合起来,而不是使用。 DL s(DL)预计已经进入该系统(动力连接),但要求基本原始操作系统服务方面的差异仍需要解决。
此外,诸如java和net等一些计划还制定了在虚拟机器或模拟处理器上运行的物体代码,而不是直接在物理处理器上。 如果能够以兼容的形式提供虚拟机器发动机和支助图书馆,这些功能在某种程度上是可行的。
The mingw version of objdump runs on windows and processes windows executables and is part of a tools suite for building windows programs with linux-like semantics. There is also a cross version of it which runs on linux and processes windows files. Going the other way, the WINE compatibility layer can run many windows executables on linux - you could explicitly test against that. But if you are willing to write in C against posix interfaces (or use a lot of wrappers on OS functions with assembly) you should be able to have one codebase that builds with both the linux and cross or mingw versions of gnu tools, so that you can relatively efficiently generate binaries for both operating systems.