どのように同じプログラミング言語の異なるコンパイラの構文間の相違を補正するには?どれが標準であり、世界中でプロジェクトを作るために使われているのかを私はどのように知ることができますか 例:Borland C++コンパイラで4ヶ月働いてC++を学びましたが、現在はBorland、Visual C++、およびDeveloper C++の構文が異なります。私は混乱しているし、いくつかの指導が必要です...異なるコンパイラ、異なる構文
答えて
最初の解決策は、1つのコンパイラまたは他のものに固有の部品を使用しないことです。言語の機能を使用する前に、インターネットを調べて、特定のコンパイラに固有のものかどうかを確認してください。そうであれば、それを使用しないでください。
これ以外にも実際には異なるコンパイラでコンパイル可能なC/C++プログラムを作ることは労力を要する作業です。コンパイラにはそれぞれ独自の特徴があり、独自の標準レベルのサポートなどがあるため、「まあまあ」ということはありません。C99/C++ 11のコードを書いても、まだ問題があるかもしれません。したがって、実際には、異なるコンパイラを使用してプログラムを実際にコンパイルして(たとえば、コードを中央リポジトリにプッシュする前にテストの一環として)、すべてのコードがコンパイルできるようにして、結果として得られるソフトウェアを実行できます。
"標準"コンパイラについては、LinuxとMacでgccとclangは "金"とみなすことができます。 Windowsでは、マイクロソフトによるコンパイラが標準です。
ありがとうalot、あなたはVisual C++が標準コンパイラであることを意味していますか? –
@AsimShehzadは、あなたがコードを使って何をする予定かに完全に依存しています。移植性が必要な場合は、サポートされているシステムで使用可能なコンパイラでサポートされているC++標準に準拠し、必要な場所での違いを処理する実装固有のラッパーを追加します。移植性が問題でない場合は、特定のコンパイラ実装をベースラインとして選択できますが、ソフトウェアを移植する必要はありません。 – user4581301
- 1. LINQ - 異なる構文スタイル、異なる結果ですか?
- 2. 異なるコンパイラで異なる出力を生成するコード
- 3. 異なるコンパイラのstdコンテナの異なるnoexceptプロパティ
- 4. 異なる反応成分の構文
- 5. 異なるOSバージョンのコンパイラ出力
- 6. 異なるfortranコンパイラ間のFortran dllライブラリ
- 7. 同じコンパイラが異なるOSで異なる動作を作成する
- 8. 構文解析と異なる構造の分離
- 9. 異なるフレーバビルドタイプの異なる文字列リソース
- 10. ヒンディー文字の表示が異なるデバイスで異なる
- 11. voidへの異常なコンパイラのエラーキャスト?
- 12. 異なる構文でファイルの一部を構文ハイライトする方法は?
- 13. 異なる文字のEclipse
- 14. SQL INSERT文とUPDATE文の構文が異なるのはなぜですか?
- 15. 異なるメンバーによる構造ソート
- 16. 異なる構文ハイフンの言語に適用する
- 17. 約束を定義する異なる構文
- 18. 異なるオプションの異なるターゲット用に同じファイルを構築する
- 19. 異なるgitブランチの異なるディレクトリ構造を維持する
- 20. 異なる文化の日時ストリングと異なる文化の日時ストリング
- 21. 異なるC++コンパイラで、パラメータパックの展開が異なるのはなぜですか?
- 22. Interopの問題 - 異なるOSアーキテクチャのための異なるC#構造
- 23. 異なるコンパイラでC++コードを実行すると異なる結果が生成される
- 24. 異なるハードウェアアーキテクチャでメモリリークが異なる
- 25. 異なる図の異なるサブプロット - MATLAB
- 26. 異なる列の異なる値
- 27. 異なるサブドメインの異なるネームサーバー
- 28. 異なるサイズ、異なる製品SQL
- 29. Android - 異なるデバイスの異なる色
- 30. 異なるマシン上の異なるフォームサイズ
構文が異なる例を挙げてください –
条件付きコンパイルを使用してください:#ifdefなど – nicomp
現在のC++標準をサポートするすべてのコンパイラ(たとえばBorland C++)は準拠していません。 –