![C ++アプリケーションはLinuxとWindowsで利用できますか? [閉鎖]](https://linux33.com/image/99308/C%20%2B%2B%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AFLinux%E3%81%A8Windows%E3%81%A7%E5%88%A9%E7%94%A8%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E9%96%89%E9%8E%96%5D.png)
実際にどこから始めるべきか、より多くの検索のためにどのキーワードを使うべきかわかりません。しかし、LinuxとWindowsで動作するC ++プログラムを簡単に書くことはできますか?私の考えでは、バイナリファイルについて話しているようです。プログラミングスタイルが変わりますか?それとも別の方法でコンパイルできますか? WindowsコンピュータでVisual Studioを開き、「こんにちは、C ++で私を実行してください」という文字列を表示する簡単なアプリケーションを作成し始めます。両方のコンピュータで実行できますか?私は必ず知っておくべきことがありますか?
答え1
私は多くのwxwidgetsを使用していますが、これはコンパイル時にwindows / gtkへの参照を置き換えるレイヤーを使用するコードに入れます。
コーディング方式が変わるため、gtk クラスや windows.h クラスを直接使用する代わりに wxwidgets クラスを使用することになり、これはコンパイル時に適切なクラスに置き換えられます。
最終結果は、ネイティブクラスとGUIを使用する100%ネイティブアプリケーションであるため、「本当の感じ」を得ます。
他のオプションには、mono、qt、javaなどがあります。これらはすべてホストオペレーティングシステムの追加層に移動し、標準化を目指しています。デフォルトでは、どの環境でも実行できるプラットフォームがあり、このプラットフォームでアプリケーションを実行できます。
wxwidgestとコーディングスタイルに戻ると、wxwidgetにラッパークラスがないことがいくつかあります。たとえば、シリアルcomポートlinux / windowsはこれを非常に異なる方法で処理します。これを行うには、ダブルコード(WindowsコードとLinuxコードの定義)を記述する必要があります。