問題タブ [multiplatform]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
compilation - 同じソース コードから異なるプラットフォーム用のバイナリを生成するにはどうすればよいですか?
多くのマルチプラットフォーム アプリケーションは、共通のソース コードを持っているようです。ビルドはどのようにプラットフォーム固有のバイナリを生成しますか?
たとえば、Linux または Mac で Windows バイナリをビルドすることは可能ですか?
c - CMake複数のツールチェーンとターゲットプラットフォーム
プロジェクトのビルドシステムとして、プレーンメイクからCMakeに変更しています。プロジェクトは、それぞれ独自のツールチェーンを備えたさまざまな組み込みLinuxシステムで実行されることになっており、ターゲットごとにかなりの数の異なる構成オプションがあります(たとえば、さまざまなプリプロセッサ定義といくつかのソースが含まれる/除外されます)。デスクトップLinuxでも動作するはずであり、一部のGUIモジュールはWindowsで実行する必要があります。
現在、CMakeには、CMAKE_TOOLCHAIN_FILE
各組み込みプラットフォームのツールチェーンとコンパイラ固有のものを除外するために使用できるオプションがあります(デスクトップLinuxおよびWindowsでは必要ありません)。
CMakeWikiにリストされているもの以外のものをツールチェーンファイル内に置くのは良い考えではないと思います。
私は、cmake guiツールで編集できるいくつかのCMake変数を作成し、それを使用if/elseif
して適切な設定を決定することを考えています。
誰かがより良いまたはよりエレガントな提案を持っていますか?
git - Ubuntu および Windows でドイツ語のウムラウテの git エンコーディングを構成するにはどうすればよいですか?
WindowsでGit Bashを実行すると、ドイツ語のウムラウトを含むコミット メッセージが正しく表示されないことに気付きました。これらのコミットは、Terminalを使用して Ubuntu で行われました。通常、コミットメッセージは英語で書かれていますが、名前に関しては仕方がありません。たとえば、文字エンコーディングを処理できないGit Bashである可能性もあります。しかし、Gitの任意のモジュール ( Git Gui、Git k ) で、テキストの書き込みと表示を強制的にエンコードする設定があるかもしれません。 git log
Added library by Simon Jünker.
utf-8
Git のマルチプラットフォーム文字エンコーディング設定は何ですか? 回答に両方のプラットフォームの構成を含めるようにしてください。MacOS を追加することもできます。
performance - 統一されたアセンブリ言語
今日のほとんどのCPUで利用可能な基本的な命令セットを提供するある種のユニバーサルでコーディングしやすいオペコード(またはアセンブリ)言語が存在するのではないかと思います(一部の派手なCISC、レジスター専用コンピューターではなく、一般的なコンピューター)。上記のCPUで「コンパイル」、マイクロ最適化、「解釈」する可能性はありますか?
実際のプログラムを作る可能性のある、MARS MIPSシミュレーター(かなりシンプルで読みやすいコード)のようなものを考えています。ライブラリは必要ありません(ただし、可能であれば素晴らしいことです)。ただ、物事(ライブラリまたはUNIXライクなツール)を均一な方法で高速化するためです。
それがばかげた質問なら申し訳ありませんが、私はアセンブラーに不慣れです。NASMまたはUNIXアセンブリ言語は、極端にクロスプラットフォームでも、読みやすく、コーディングしやすいものでもありません。
c# - OS X と Linux の C#?
Visual C# Express 2008 からコーディングされたアプリケーションがあります。そのアプリケーションを Mac OS X *.appおよび Linux アプリケーションに移植したいと考えています。どうすればそれを行うことができますか?C# ソース コードを解析し、他の OS の対応するものを出力するためにダウンロードできる、インターネット上で利用可能なコンパイラはありますか?
iphone - マルチプラットフォーム MSBuild プロジェクト ファイル
私は現在、ソースコードを可能な限り移植可能にするプロジェクトに取り組んでいます。つまり、プロジェクト (C# ですが、あまり関係ありません) は、Android (Mono-Android を使用)、iPhone (MonoTouch を使用)、および WinMobile (公式の Compact Framework を使用) で実行する必要があるアプリケーションを表します。詳細は省きますが、対応する MSBuild ソリューションは、(少なくともソース コードの観点からは) 独立したプラットフォーム ライブラリで構成されており、さまざまなプラットフォームに共通ではない各機能の抽象化を表すさまざまなインターフェイスとクラスを宣言しています (つまり、UI)。さらに、「基本ライブラリ」を (プラットフォームごとに) 特化した対応ライブラリがあります。効果的なアプリケーション実行可能ファイルは、抽象化と共通の標準ライブラリを使用するプログラムです。
WinMobile と Android での開発は実際には問題ではありません。Mono-Android アドインは VS 2010 にインストールできるため、両方のプラットフォームを MS VS で処理できます。
最初にソリューションは VS で作成されたため、初期構成と関連プロジェクト (Android および WinMobile) が自動的に生成されます。
その後、Mac (MonoTouch で公式にサポートされている唯一のプラットフォーム) の MonoDevelop にソリューションをインポートし、iPhone ライブラリのプロジェクトを作成しました。構成を切り替えてアセンブリ (iPhoneSimulator) を生成すると、プロジェクト タイプの構成が欠落しているため、「ベース ライブラリ」をコンパイルできませんでした。具体的には、MonoTouch で使用される GUID は次のとおり<ProjectTypeGuids>
です{E613F3A2-FE9C-494F-B74E-F63BCB86FEA6}
。この GUID を追加すると、MonoDevelop で「基本ライブラリ」をコンパイルできるようになります。
VS でソリューションを再インポートしようとすると、問題が発生します。MonoTouch の Windows バージョンがないため、VS は指定されたプロジェクト タイプのアドインを見つけることができず、プロジェクトは読み込まれません。
MSBuild プロジェクト ファイルの仕様を見ると、VS のプロジェクト/ソリューション エディター内で設定または変更できないオプションがたくさんあるようです。しかし、フォーマットは非常に複雑で、今私はあなたの助けを求めています!
使用している環境に対して特定の構成が個別に選択されている場合にのみ、プロジェクト タイプが存在することをプロジェクト ファイルで指定する方法はありますか?
java - ポアソン分布の最尤推定?
観測値 (x, y) を含むテーブルがあり、それらにさらに類似するポアソン分布の平均を推定する必要があります。RとOctaveの両方がLinuxでこれを行うことができるようですが、マルチプラットフォームでそれを行う方法があるかどうか疑問に思っていました. プログラムに何でもバンドルできますが、プログラムを実行するために何かをインストールするように要求することはできません。
自分でできるアルゴリズムを探してみたのですが見つからず、どうすればいいのかわかりません。
記録のために、基本的にすべての値を合計し、例の数で割る単純なアルゴリズムを見つけましたが、本から直接取った些細な例でさえ失敗します。
例:
ポアソン分布の平均は 15 である必要があります (例を入手した本によると)。上で述べた答えの 1 つにある方法では、16 が得られます。2 乗ユークリッド距離の合計を使用すると、平均 15 のポアソンは平均 16 のポアソンよりもデータに近いことがわかります。
c++ - OS に基づいて異なるヘッダーを含めるにはどうすればよいですか?
移植可能な C++ アプリケーションを作成しています。実行中のオペレーティング システムに基づいて、さまざまなヘッダーを含めるにはどうすればよいですか。C++ でこれを行う方法はありますか、それともビルド システムを使用する必要がありますか?
java - 複数のプラットフォームに SWT アプリケーションをデプロイする
すべての swt.jar ファイルをClass-Path
メイン アプリケーションの MANIFEST ファイルのエントリに追加し、プラットフォーム固有のバンドルでプラットフォーム固有の swt.jar のみを出荷する予定です。これには、Windows 32 ビット、Windows 64 ビット、GTK-Linux などの異なるバンドルが必要になる可能性が高くなります。ユーザーがファイルを移動したり、不要なファイルを削除したりしなければ、すべてのプラットフォームで機能する汎用バンドルは実現できません。
もう 1 つのアイデアは、すべての swt.jar ファイルを配信し、適切なファイルを動的にロードすることです。
どのような提案がありますか?
bash - Bash/sh - && と ; の違い
私は通常;
、複数のコマンドを 1 行に組み合わせて使用しますが、&&
. 違いはありますか?例えばcd ~; cd -
とcd ~ && cd -
は同じものを作っているようです。Android のシェルなどの bash サブセットでサポートされるなど、より移植性の高いバージョンはどれですか?