私はObjective-CがCプログラミング言語の「厳密なスーパーセット」であるとよく聞きます。 Cのいくつかの方言/標準があります(すなわち、K & R、ANSI C、C90、C99、GNU拡張...)。 Objective-Cは1980年代初頭に最初に開発されたので、これらの基準よりも前のものでなければなりません。しかし、Objective-C 2.0は2006年または2007年頃からのものであるため、より現代的なC言語の方言に基づいている可能性があります。だから、 "C"はObjective-Cのスーパーセットですか?Cのどちらの方言がObjective-Cの「厳密なスーパーセット」ですか?
答えて
はあなたが本当に定義されていない探しているものC.
のすべての標準的な方言のためのObjective-Cの対応する「方言」があります。目的Cは、通常ANSI-C(C90と同じ)の厳密なスーパーセットと考えられています。しかし、Objective Cは標準化された言語やそのようなものではありません。それは基本的に「Take Cを使ってこれらの機能を追加する」というものです。したがって、使用している特定のコンパイラに依存します。
Objective-Cコードをコンパイルするときに、XcodeがC99の厳密なエイリアシング規則をどのように処理するのか疑問に思う必要があります。 –
@iPhone開発者:Xcodeは一度も使用していませんが、iircはGCCの形式に基づいています。そうであれば、Cの基礎となる目的C自体の基準のいずれかを支持すべきである。 –
'@Billy ONeal:'確かに:http://lists.apple.com/archives/objc-language/2005/Aug/msg00050.html –
最も一般的に使用されるObjective-Cコンパイラ(GCCとClang)もCコンパイラであるとすれば、これらのコンパイラでサポートされているC言語をサポートしていると考えられます。 Appleのドキュメントには、具体的に述べ:
アップル コンパイラは、コンパイラ、GNUコンパイラコレクションの に基づいています。 Objective-C構文は GNU C/C++構文の上位セットで、Objective-C コンパイラはC、C++および Objective-Cソースコードで動作します。 は というファイル名拡張子.mでObjective-Cソースファイルを認識します。 は 標準C構文のみを含むファイルを 拡張子.cで認識します。同様に、コンパイラ は、 Objective-Cを拡張子.mmで使用するC++ファイルを認識します。 C++とObjective-Cの を使用して 他の問題は、だから、このケースでのObjective-Cは、単純にCまたはC++コンパイラによっていずれかの延長とみなされている
「のObjective-CとC++ の使用」で説明されていますあなたが基本言語として選択します。アップルから「Learning Objective-C」によると
Xcode 4.4では、Cの方言はデフォルトで "GNU99"に設定されているようです。 – zoom23
:
「のObjective-CはCプログラミング言語のANSIバージョンのスーパーセットで、Cと同じ基本的な構文をサポートしています」
- 1. 言語の厳密なスーパーセットで書かれたプログラムは多言語としてカウントされますか?
- 2. MonadFix厳密な言語で
- 3. C++の厳密なtypedef用のイディオム
- 4. haskellでの厳密なまたは非厳密な乗算?
- 5. ジェネリック型の厳密な型制約 - C#
- 6. (厳密に)コールスタックはどこですか?
- 7. テキストフィールドの厳密な検証
- 8. 厳密なヌルチェックのオーバーライド
- 9. Symfonyサービスの厳密なパラメータ
- 10. 厳密モードのないJSON.parse
- 11. Angularjsの厳密なモデル値
- 12. ストライプの厳密なURLバインド
- 13. 厳密なJSONオブジェクトのコンテンツタイプ
- 14. c - 厳密なエイリアシング警告の処理方法
- 15. Objective-C++はC++とObjective-Cの両方のスーパーセットですか?
- 16. 厳密なエイリアシング違反ですか?
- 17. QMLの「厳密」モードですか?
- 18. スウィフトの厳密さ
- 19. PHPでの厳密な比較
- 20. PFXでの厳密な名前付け
- 21. PHP 7でシバンと厳密な型宣言を使用
- 22. 厳密に制限されたインタプリタ言語での作業
- 23. このインスタンスのarguments.calleeの厳密なモード
- 24. uintが厳密に正であるか
- 25. 厳密なエイリアシングのパフォーマンス上のメリット
- 26. Pythonの辞書の厳密な比較
- 27. データ型の厳密なフィールドのメリット
- 28. Haskellの厳密なデータ構造のライブラリ
- 29. Spark Dataframe/Datasetでの厳密なデータ型チェックの適用方法?
- 30. Visual C++は "厳密なエイリアシング"をサポートしていますか?
+1は私よりも優れています:) –
'@Chuck:' ...そしてCの*非標準*方言のいくつか! –