問題タブ [portability]

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.

0 投票する
8 に答える
2745 参照

frameworks - USBスティックで実行可能な、インストールなしのクロスプラットフォームソフトウェアフレームワーク(GUI付き)はありますか?

次の特性を持つ優れたソフトウェア開発フレームワークなどを知っている人はいますか?

  • クロスプラットフォーム:XP、Vista、OSX、およびLinuxの一般的なバージョン(UbuntuやKubuntuなど)で実行可能である必要があります。
  • インストールなし:ホストマシンに何もコピーせずに、USBスティックからソフトウェアを実行できます。
  • 優れたGUIサポートを持っている(これが、私が知る限り、この質問が適切な答えを与えない理由です)。
  • LGPLやBSDなどのパーミッシブライセンス。

よりソフトな要件の中には、ソケットやファイルIOなどの最も一般的なバックエンド機能の一連の抽象化があり(通常、プラットフォーム固有の適応が必要です)、PythonやC++などの優れた言語をサポートします。通常、新しいものを学ぶのは楽しいです(つまり、perlではありません)。

考えられる候補はQt4.5以上(ただし、IFAIK QtソフトウェアはインストールなしではVistaで実行されません(?))、いくつかのwxWidgets、またはおそらくgtkmmのwxPythonソリューションです。私が見つけた例は、いずれかの要件で失敗しました。これは、そのような例が存在しないことを意味するのではなく、私が何も見つけていないことを意味します。だから私はそこに誰かがこれに対する既存の解​​決策を知っているかどうか疑問に思っていましたか?

いくつかの説明;

  • 「フレームワーク」とは、ウィジェットパッケージを備えたQt、gtkmm、pythonなどを意味します。
  • これは、インストールせずにスティックから複数のプラットフォームで完成品を実行できることであり、ポータブルな開発環境を持つことではありません。
  • ブートスティックではありません。
  • 必要に応じて、さまざまなターゲット専用のソフトウェアをビルドする必要があります。

私が見ているユースケースは、信頼できるソフトウェア(プロジェクト計画、情報の管理、分析ツールなど)があり、次のようなものです。

  • インターネット接続が利用可能であることに依存していません。
  • 何もインストールしても問題がない別のホストマシンで実行されます。
  • ユーザーが物理メディア(USBスティックなど)を介して移動します。
  • Windows、Vista、Ubuntu、OSXなどのさまざまなオペレーティングシステムで実行されます。
  • これらの異なるホスト上の同じデータで機能します(データはホストまたはスティックに保存できます)。
  • バンドルされたフレームワークの大きさは実際には制限されていません(数ギガバイトでない限り、これは実際には現実的ではありません)。

ソフトウェアが同じように動作し、異なるターゲットで実行されたときに同じデータで動作できる限り、スティックに並列インストールすることもできます。

ユースケースの別の見方は、Vista、XP、OSX、Ubuntu、Kubuntuがそれぞれ目の前にある5台の新しくインストールされたマシンがあるということです。マシンに新しいものをインストールすることなく、これら5台のマシンのそれぞれで1つのUSBスティック(上記のGUI要件などを満たす)から同じソフトウェアを実行できるようにしたいと思います(ただし、必要に応じて異なるマシンから)スティック上のバ​​ンドル)。

これは可能ですか?

編集:いくつかのウィジェットとsqliteデータベースを使用するQtアプリで少し実験しました。ubuntudistとosxで動作させるのは簡単でした。Windows XPおよびVistaの場合、QtCored4.dll、QtGuid4.dll、QtSqld4.dll、およびmingwm10.dllを配布ディレクトリ(これはデバッグコード)にコピーする必要があり、qsqlited4.dllを配布内の「sqldrivers」という名前のフォルダーにコピーしました。ディレクトリ。

0 投票する
1 に答える
296 参照

windows - WD 160gb USB ハードドライブにインストールされているポータブル XP に Oracle をインストールできますか?

私を助けてください。

宛名印刷ソフトをインストールしたい。内部ハード ドライブを使用する代わりに、USB ハード ドライブを使用して、システムをポータブルにする柔軟性と利便性を提供したいと考えました。

USB ハード ドライブに Portable XP を正常にインストールできるかどうかを知りたいです。はいの場合、Portable XP が動作するハード ドライブに Oracle をインストールできますか? ソフトウェアはOracleで作られていますか?

どうすればインストールできますか?

0 投票する
3 に答える
12772 参照

perl - ポータブルPerlはありますか?

ポータブルPythonのラインに沿ってポータブルPerlはありますか?サムドライブから(学習中に)使用できるものはありますか?

ああ、私はウィンドウXPについて話している。

0 投票する
2 に答える
3132 参照

.net - App.configdllmapエントリの移植性

dllmap構成ファイルエントリは、Windows DLLの要求をLinux(.so)ライブラリにマップするためにMonoで使用されます。しかし、Microsoftの.NET Frameworkがそのようなエントリを含む構成ファイルを解析しようとすると、「dllmap」を理解していないためにエラーが発生するようです。私のディストリビューションの他のすべては、LinuxとWindowsXPの両方で変更せずに配布できると思います。これに関連するすべての移植性の中で、この構成エントリは本当に欠点であり、移植性のない部分の1つですか?このファイルをプラットフォーム間で共有する方法もありませんか?

0 投票する
4 に答える
1000 参照

c++ - クロスプラットフォーム C/C++ 開発のリソース

複数のプラットフォームやコンパイラで動作する C/C++ コードの作成を支援するために、どのようなリソースがありますか? たとえば、私は定期的に次のような質問をしています。

  • さまざまなコンパイラや環境で自動的に定義されるプリプロセッサ マクロは? (例: __GCC__WIN32__WIN32__)__CYGWIN__
  • コンパイラと標準ライブラリのどのバージョンが比較的新しい「標準」関数をサポートしていますか (例: C99 long double 三角関数 sinl()、cosl()、...)
  • 単一の移植可能な機能が存在しないように見える場合、典型的なタスクを実行するためにさまざまなプラットフォームで使用できる機能は何ですか? (例: サブ秒の精度で現在の時刻を取得する)

Linux/gcc、cygwin、mingw32、および Visual Studio でコンパイルする必要があるコードを頻繁に作成し、必要な情報を取得するために、複数のソース (Linux のマニュアル ページ、MSDN、コンパイラ ドキュメント) からのメモを頻繁に比較する必要があります。これは、開発者が常に遭遇する問題に違いありません。この情報を簡単に理解できるリファレンスにコンパイルするリソースはありますか?

(この質問では、wxWidgets や boost のようなクロスプラットフォーム ライブラリには特に興味がありません。誰かが独自のクロスプラットフォーム ライブラリやプログラムを作成するのに役立つリソースやテクニックに興味があります。)

編集:これは、私が探しているページのタイプの例です: http://predef.sourceforge.net/precomp.html。さまざまなコンパイラ/環境と、それらを識別するために使用できるプリプロセッサ マクロの優れた調査。共通の関数が存在しない場合に、プラットフォーム間でほぼ同等の関数 (Linux の gmtime_r() または ftime() と Windows の _gmtime_s() または _ftime() など) を比較した同様のリソースを見つけることは素晴らしいことです。

0 投票する
1 に答える
351 参照

c++ - 物理ツールキットの移植性

概要:

2 つ (またはそれ以上) の異なる物理ツールキット間のインターフェイスを作成したことがありますか? オンライン ゲーム (または少なくともネットワーク物理学) の場合は? それはどうなりましたか?学んだ教訓?大量のコードを別の場所で書き直したほうがよいのでしょうか?それとも投資は報われましたか?

膨張:

インディー ゲーム エンジンにODE 物理ツールキットを使用していますが、ファサード ラッパーを使用しています。元のアイデアは、必要に応じて/可能であれば、別の物理ツールキット (Havok、Bullet など) に簡単に移植できるようにすることでした。これは初心者にとっては良いアイデアのように思えましたが、今では、核心の詳細にかなりの数の悪魔がいるように見え始めています. 個々のルート オブジェクトごとの重力の必要性など (現在 ODE ではサポートされていません)。または、オブジェクト/島が無効になったときにコールバックします (ODE でもサポートされていません)。

Havok (私はまったく何も知りません) が常に新しいツールやツールキットで成長しているという事実は、最終的にはツールキットではなくフレームワークになってしまうのではないかと恐れています。そして、それは移植性には良くありませんが、おそらく私の懸念はまったく根拠がありません.

0 投票する
5 に答える
559 参照

c - Cのポインタへのバイトレベルのアクセスに関連する移植性の問題は何ですか?

目的

私は、malloc / realloc / freeラッパー関数と、そのパラメーター(タイプvoid *)が割り当てられ管理されているライブ(まだ解放されていない)メモリに対応するかどうかを通知できる関数を提供する、より大きなプロジェクト用の小さなライブラリを作成しています。ライブラリのラッパー関数によって。この関数を。と呼びましょうisgood_memory

内部的には、ライブラリはハッシュテーブルを維持して、によって実行される検索isgood_memoryが適度に高速であることを確認します。ハッシュテーブルは、検索を可能にするためにポインタ(タイプの要素)を維持します。void *明らかに、値はハッシュテーブルに追加および削除され、割り当てられたものと解放されたものをそれぞれ最新の状態に保ちます。

ライブラリの移植性は私の最大の関心事です。これは、ほとんど準拠したC90(ISO / IEC 9899:1990)環境のみを想定するように設計されています...それ以上のものはありません。

質問

移植性が私の最大の関心事であるsizeof(void *) == sizeof(X)ため、ハッシュ関数についてはそれを想定できませんでした。したがって、私は値をバイトごとに文字列であるかのように扱うことに頼ってきました。これを実現するために、ハッシュ関数は次のようになります。

この特定のフラグメントに関して、移植性に関してどのような懸念がありますか?ptrvalバイトごとにアクセスすることで、ファンキーな配置の問題が発生しますか?

0 投票する
5 に答える
508 参照

c++ - ポータブル ライブラリの言語の選択

Windows、Linux、OS/X などの最新のオペレーティング システムで実行されている他のプログラムから動的にリンクされるライブラリを作成したいと考えています (つまり、.dllまたは.soモジュールとしてデプロイされます)。

その場合、最も適切な言語は何ですか? プレーンCに固執する必要がありますか?それともC++でもいいですか?

0 投票する
5 に答える
380 参照

portability - 移植性のないコードを使用する理由

最適化されたコード、実装の明確さ、効率、および移植性の観点から、誰かが設計のトレードオフを正当化するかどうかをどのように選択しますか?

この質問の目的に関連する例は、大きなファイルの処理である可能性があります。ここで、「大きなファイル」は、ランダムアクセス方法を使用して単純化される問題の「かなりの数GB」です。

このファイルを読み取って変更するためのアプローチは次のとおりです。

  1. とにかくストリームを使用し、目的の場所を探します。これは移植可能ですが、速度が遅くなる可能性があり、明確ではありません。これは、実質的にすべてのOSで機能します。
  2. ファイルの関連部分を大きなブロックとしてマップします。たとえば、チャンクごとに、処理するファイルの50MBチャンクをmmapします-これは、そのシステムにmmapを実装する微妙さに応じて、多くのOSで機能します。
  3. ファイル全体をmmapするだけです。これには64ビットOSが必要であり、これを実装するための最も効率的で明確な方法ですが、32ビットOSでは機能しません。
0 投票する
17 に答える
1295 参照

sql - SQL の移植性の問題

私の会社では、Python ORM 用の Oracle のバックエンドの仕上げに取り組んでいます。私は、RDBMS が単純なものであっても、さまざまな方法で処理を行うことに驚いています。Oracle と他の RDBMS の違いについて多くのことを学びました。純粋な好奇心から、もっと学びたいと思っています。

あるプラットフォームから別のプラットフォームへの SQL の移植に関する一般的な「落とし穴」は何ですか?

回答ごとに 1 つの落とし穴だけにしてください。