コンパイラが高級言語(たとえばC ++など)をマイクロプロセッサによって実行されるマシンコードに変換する場合。
Windowsで実行されるプログラムがMacまたはLinuxで実行できないのはなぜですか?
コンパイラが高級言語(たとえばC ++など)をマイクロプロセッサによって実行されるマシンコードに変換する場合。
Windowsで実行されるプログラムがMacまたはLinuxで実行できないのはなぜですか?
高水準プログラムが実際にC++または別の言語で100%記述されており、外部コードをまったく使用していない限り、実際には、コンパイラーを使用して任意のOSでコンパイルするのは比較的簡単であり、同じように動作します。仕方。
難しさは、事実上すべてのプログラムがOSのライブラリを使用することです。たとえば、入出力、UI描画などであり、これらは太陽の下ですべてのOSで異なります。実際には、OSまたはOSに付属のライブラリに存在する大量のヘルパーコードを利用せずに、コンピュータプログラムで現実的なことを行うことは不可能です。これが移植を難しくしている理由です。通常、実際には難しくはなく、面倒です。
多くの呼び出しがOSの要素を参照しているためです。描画のように、ファイルシステムにアクセスします。これらの呼び出しは、JavaやQtのように翻訳する必要があります。