問題タブ [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.
c - Unix/C におけるデータベースの独立性
Sybase CT ライブラリを使用して Sybase データベースにアクセスする、C で記述され、Solaris および Linux で実行されるシステムがあります。作業量とエラーを削減するために、社内で開発された DDL からテーブル定義、インデックス、ストアド プロシージャ、および C コードを生成します。
データベースの独立性を実現したいので、(最初の開始として) Oracle サポートを追加できます。
ODBC または ESQL/C について考えていますが、経験がありません。
どのような解決策を提案しますか (もちろん、安価で簡単な解決策が望ましいです)。単一のソース ソリューションを持つことは可能ですか?
c++ - #warningプリプロセッサディレクティブの移植性
#warningディレクティブが標準のC /C ++ではないことは知っていますが、gcc /g++を含むいくつかのコンパイラがそれをサポートしています。しかし、それをサポートしていない人にとって、彼らはそれを黙って無視するのでしょうか、それともコンパイルの失敗につながるのでしょうか?言い換えれば、それをサポートしていないコンパイラのビルドを壊すことなく、プロジェクトで安全に使用できますか?
c++ - DebugBreak()/__debugbreak に相当するポータブルなものはありますか?
MSVC では、DebugBreak()または__debugbreakによってデバッガーが中断されます。x86 では "_asm int 3" を書くのと同じですが、x64 では何か違います。gcc (またはその他の標準コンパイラ) でコンパイルするときは、デバッガーも中断したいと考えています。プラットフォームに依存しない関数または組み込み関数はありますか? それについてのXCode の質問を見ましたが、移植性が十分ではないようです。
サイドノート: 私は主にそれで ASSERT を実装したいと思っています。そのために assert() を使用できることは理解していますが、DEBUG_BREAK などをコードに書きたいと思っています。
javascript - Javascript でデスクトップ OSX または Windows アプリを作成したいのですが、経験はありますか?
Windows と OSX 用の小さなアプリケーションを書きたいと思っています。
携帯性は良好です。たとえば、TCL 用の単純な TclKit ソリューションは、Tcl をしばらく見続けることができればうまく機能します。
私はJavascript +拡張機能の使用を検討しています-私はJavascriptが本当に好きです-JavascriptエンジンをWxWinまたはTkツールセットに接続する方法があるはずです-Perl、Python、Rubyなどで行われています.なぜJSではないのですか?
コメントをお待ちしております。
c - **ポータブル C** で、コマンドの stdin をランチャーの stdout に接続するコマンドを起動する方法は?
C プログラム (p1) で、p1 の標準出力から標準入力を読み取る、動的に構築されたコマンド (およびその引数) を起動する方法は?
ご了承ください:
この stdout --> stdin パイピング以外の方法も、Windowsと Linux 間で移植可能であればOK です。
ここでは C++、Java、Perl、Ruby、Python などは使用できません。
また、これには Windows ビルドの MinGW 依存関係がありますか?
REOPENED : 以下の質問は Linux の場合の回答ですが、この質問は移植可能な方法が必要です。 C プログラム内からプログラムを実行する
c - GCCには固定サイズの整数がありますか?
MSVC++ コンパイラでは、特定のサイズの整数に対して__int8
、__int16
、および同様の型を使用できます。__int32
これは、カスタム ファイル形式、ハードウェア制御データ構造などの低レベル データ構造を扱う必要があるアプリケーションに非常に役立ちます。
GCC コンパイラで使用できる同等のものはありますか?
c++ - ポータブル アプリでの Windows DLL の使用
Linux に移植したい Windows C++ アプリケーションを作成しました。これを行う主な理由は、IT スタッフのシステム保守の容易さです。このアプリケーションを実行する 1 台の Windows マシンを除けば、Linux のみの運用です。
このアプリケーションが Windows に組み込まれ、Windows で実行される理由は、Windows API (dll とヘッダー) を使用して外部パーティに属するサーバーに接続するためです。この接続は、私が本当にいじりたくない独自のプロトコルを使用しているため (契約上許可されていないと思います)、.dll にこだわっています。
この dll は、Windows ソケット固有のコードが dll に含まれているため (私は疑っています)、Windows のみです。それとは別に、高度なことはあまりしません。このアプリケーションを Linux マシンで実行できるようにするために、WINE の Linux でアプリを実行するだけでなく、プロトコルを盗聴して DLL を自分で再実装する方法はありますか?
このアイデアは、QT クリエーターに関するこの項目に触発されたので、それで遊ぶことができるソリューションは非常にクールです。
windows - ファイルパスの移植性
*nix と Windows で実行する必要があるプログラムがあります。\
プログラムはファイルからファイルパスを取得するため、問題はvsの問題をどうするかです/
。
私の現在の考えは、私が使用しているシステムに応じて、間違ったものを正しいものに変換する正規表現を入れることです。これにより、どちらのタイプもどちらのシステムでも機能するようになります。現在、私には 2 つの問題があるという事実以外に、他に何か問題が見られる人はいますか?
(他のより良い解決策は大歓迎です)
編集: 主な問題は、その逆ではなく、Windows パスを UNIX で動作させることです。
c++ - パフォーマンスの低下を最小限に抑えて C & C++ ライブラリを同期する方法は?
ベクトル、行列、四元数などを処理するための多数の数学ルーチンを備えた C ライブラリがあります。組み込み作業や Lua 拡張としてよく使用するため、C のままにしておく必要があります。さらに、より便利なオブジェクト管理と、C API を使用した数学演算の演算子のオーバーロードを可能にする C++ クラス ラッパーがあります。ラッパーはヘッダー ファイルのみで構成され、インライン化が可能な限り使用されます。
C コードをラップすることと、実装を C++ クラスに直接移植してインライン化することとの間に、かなりのペナルティがありますか? このライブラリは、タイム クリティカルなアプリケーションで使用されます。では、インダイレクションを排除することによるブーストは、2 つのポートのメンテナンスの頭痛の種を補うのでしょうか?
C インターフェイスの例:
C++ ラッパーの例:
java - 混在する Java バージョンの世界でジェネリックを使用する方法は?
私はジェネリックが大好きで、できる限りジェネリックを使用しています。時々、古いJVM(5.0より前)で実行する必要がある別のプロジェクトでクラスの1つを使用する必要があり、JavaME(ジェネリックも許可されていない)またはMicrosoft J#(非常に貧弱です)で実行する必要がありますジェネリックのサポート)。
現時点では、すべてのジェネリックを手動で削除しています。つまり、多くのキャストも挿入しています。
ジェネリックはコンパイル時のみであると言われ、ジェネリック コードのすべての部分が非ジェネリック コードに自動的に変換される可能性があるため、これを実行できるツールがあるかどうか疑問に思います。
そのようなツールがない場合、他にどのように問題を解決できますか? ジェネリックの使用を完全にやめるべきですか?
バイトコードの互換性に関する回答は既にあります。何らかの理由でソース コードの互換性が必要な場合はどうすればよいですか?