C++で 'fstream'と書いたコードがすべてのプラットフォームで動作するかどうか知りたいですか? C++標準ライブラリはプラットフォームに依存しないか、各プラットフォーム用にヘッダーが書き直されていますか?C++ stdライブラリのプラットフォームは独立していますか?
答えて
両方。任意のプラットフォームでfstreamを使用してC++プログラムをコンパイルできますが、ヘッダーは実装に依存します。コンパイラとオペレーティングシステムの違いはありますが、それらは設計され指定された目的を果たします。
C++ 標準ライブラリはプラットフォームに依存しません。もちろん、実行するプラットフォームごとにプログラムを再コンパイルする必要があります。
異なるプラットフォームや異なるコンパイラベンダー間では、実際のヘッダー自体は異なる場合がありますが、すべて同じセットのサービスを提供する必要があります。
<fstream>
はIso C++標準の一部であるため、標準準拠のコンパイラ/ツールチェーンであればそれをサポートします。
標準ライブラリはプラットフォームに依存しません。どのようにそれを使用することはできません(ファイルなどのエンディアン)。
ヘッダーは実装ごとに書き換えられますが、標準に準拠している必要があります。
私はstlの基本動作がプラットフォームに依存しないと考えます。しかし、実装はプラットフォームに無関心ではありません。したがって、いくつかの動作は異なります。
たとえば、文字列をs = f()のようにnull char *から開始すると、f()はchar * nullを返します。 Redhatでは、例外がスローされます。しかし、Ubuntuでは、それはsegfaultだけです。
ファイルシステム(およびそのファイル命名規則)は、システムによって異なります。例えば、(Unix以外の)ファイルシステムの中には、大文字と小文字を区別しないものもあります。
ファイル名を指定する規則は大きく異なります。
したがって、標準のC++ライブラリを使用すると移植性が大きく向上しますが、違いを考慮する必要があります。
乾杯。
- 1. Runtime.getRuntime()。exec()プラットフォームは独立していますか?
- 2. .NETで独立したC++ライブラリを実行しています
- 3. JavaScriptプラットフォーム独立型ラインセパレータ
- 4. C++(03)SFINAEアスペクトコンパイラは独立していますか?
- 5. Cリンクライブラリから独立してビルド
- 6. MCはOSライブラリとカーネルとは独立して動作しますか?
- 7. は独立して
- 8. Cの独立ランダムジェネレータ
- 9. マウス(またはUSBデバイス)プラットフォームはどのように独立していますか?
- 10. slideToggleは独立してリンクします
- 11. linux/input.hのキーコードのレイアウトは独立していますか?
- 12. ニューラルネットワーク層のユニットは独立していますか?
- 13. Eclipseのclasspath、junit.jar、import org.junit文は独立していますか?
- 14. RubyのMarshallフォーマットアーキテクチャとRubyバージョンは独立していますか?
- 15. Javaバイトコードの位置は独立していますか?
- 16. NSDateはタイムゾーンから独立していますか?
- 17. サービスはアクティビティライフサイクルから独立していますか?
- 18. `FragmentManager`はアクティビティライフサイクルから独立していますか?
- 19. AccessデータベースはMS Accessアプリケーションから独立していますか?
- 20. NutchはローカルモードでHadoopとは独立していますか?
- 21. モジュール性とプラットフォーム独立性の両方に最適なアプローチは何ですか?
- 22. チェックボックスは、独立して
- 23. プラットフォームから独立してC言語でint型からキャストする(SIGBUSを避ける)
- 24. C++関数の独立和
- 25. DialogFragmentオリエンテーションはメインアクティビティオリエンテーションから独立しています
- 26. CollectionViewは、項目を互いに独立してスクロールします。
- 27. wixインストーラでASPによるIISのプラットフォーム独立登録
- 28. コンパイラリンク独立静的/動的ライブラリ
- 29. 独立した不安定な独立したアニメーションに反応しますか?
- 30. Apacheのラクダのルート展開 - 独立していますか?
はい。それは標準的です。 – Naszta