Windowsプログラムのソースコードをコンパイルできますか?

Windowsプログラムのソースコードをコンパイルできますか?

私の専門性が不足していることをご了承ください。しかし、オープンソースのWindowsプログラムのソースコードをコンパイルし、Linux(Wineなし)で実行可能ファイルを使用できるかどうかを知りたいです。私が知っている限り、そうです。アリの名前を変更する私は現在Wineと一緒に使用しています(いくつかの高度な機能やGUIが不足しているLinuxの代替案が気に入らない)。

答え1

最も簡単な答えは「いいえ」です。より長い答えは一般的に「いいえ」です。それは何に依存する図書館このプログラムは。

プログラムが書かれている言語によっては、コンパイラまたはインタプリタに付属の標準ライブラリに多くまたはより少ない機能が含まれる場合があります。は非常に珍しいプラットフォームにのみCコンパイラがないという点でユビキタス言語であり、非常に小さな標準ライブラリを持っています。たとえば、ファイルI / Oの概念はありますが、ディレクトリはなく、ユーザーインターフェイスは標準入力、標準出力、および標準エラーに制限されます。他のすべてのタスクにはオペレーティングシステムの前提が必要であるか、サードパーティのライブラリを使用する必要があります。一部の言語は、標準ライブラリでCが実行できる操作に固執することを選択します。彼ら標準ライブラリは、Cが実行されている任意の場所で実行できます。

他のプログラミング言語は標準ライブラリでより多くの機能を提供し、少なくともUnixとWindowsの間に移植可能な事実上標準のサードパーティライブラリを持つことができます。移植可能であることは、同じライブラリコードが両方で実行されることを意味するのではなく、Windows実装とUnix実装があり、ライブラリを使用するプログラムがどちらが使用されているかを気にする必要がないことを意味します。例えば、Python~の標準ライブラリファイルとディレクトリを管理するためのインターフェースがあり、いくつかの基本的なGUIライブラリが付属しています(それほどカラフルでも複雑でもありません)。できる完璧ですが、移植性に優れ、比較的使いやすいです。より進化したポータブルサードパーティのライブラリ

UnixとWindowsの両方は、他のシステムでは利用できない、または非常に異なる動作をする多くの機能を持っています。グラフィカルユーザーインターフェースは非常に異なる動作をします。一部のUnixライブラリはWindowsに移植されていますが、WindowsインターフェイスはまだUnixに移植されていません。 Windows GUIコードはオペレーティングシステムにさらに統合されており(UnixのGUIは最初から別の層で設計されています)、独自のコード(Unixの世界のライブラリはほとんどオープンソースです)なので、移植するのは非常に困難です。 Unix: 既定では、仮想マシンで Windows を実行する必要があります。 WineはWindowsライブラリの独立した実装を提供しようとしますが、これは非常に難しい作業です。

Ant RenamerはPascal方言で書かれており、ツールはWindows用に開発されました。デルファイ。一つあるLinuxポートある時点で成功したのにどれくらい成功したのかわかりません。具体的には、GUIライブラリはWindowsインターフェイスからいくつかのUnixインターフェイスに書き換える必要がありました。実用的な答えは、Ant RenamerがLinuxで実行できる場合は、かなりの努力が必要になることです。おそらく、動作の正確な説明とともに、最初から書くよりも多くの努力が必要になるでしょう。


検索でこれを見つけましたが、他の問題がある人は、Unixシステムを使用してWindowsプログラムのソースコードをコンパイルしてWindowsシステムで実行できます。クロスコンパイラ例えばミンジ

関連情報