%20%E3%82%92%20PE.exe%20(Windows)%20%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%99%E3%82%8B.png)
マシンコードファイルの使用に関しては、私は初心者です!!!
ELF (Linux) として取得したマシン コード実行ファイルを Windows の exe ファイルに使用する必要があります。'objconv' を試しましたが、フォーマットでは '-fPE ' を使用するように指示されているにもかかわらず、それを使用するとコマンド ラインに 'エラー 2004 不明なコマンド ライン' と 'エラー 2103 入力ファイルを読み取れません' が表示されます。Linus と Windows プラットフォームの間には互換性がないのではないかと思います。
答え1
基礎となるオブジェクト コードはプラットフォーム間で同じである可能性がありますが、重要なネイティブ アプリケーションは Windows と Linux 間でバイナリ互換性を持つことはできません。
変換しようとしている Linux 実行ファイルが動的にリンクされている場合、Windows には存在しないライブラリが必要になります ( ldd /path/to/program
Linux マシンで実行すると、このライブラリのリストが表示されます)。
すべてのライブラリをPE実行形式に変換したり、静的にリンクしたとしても、システムはNTカーネルそしてLinuxカーネル完全に異なります。それらの間には直接的な一対一の対応はありません。
最善の選択肢は、可能であれば元のアプリケーションのソース コードを見つけることです。プログラムが移植可能な方法で記述されている場合は、Windows と Linux の両方でコンパイルできる可能性があります。システム コールは 2 つのプラットフォーム間で同じではありませんが、C ライブラリ実装のサブセットは標準化された動作をします。
答え2
これはほぼ確実に機能しません。Linux と Windows は互いにうまく動作しません。「変換」しようとしているアプリケーションは、Windows 用にソースから再構築する必要があります (Windows 固有のパッチが必要になります)。運が良ければ、実行しようとしているアプリケーションには既に Windows ポートがあります。
答え3
これを読んでみてはいかがでしょうか ネイティブコード生成