C1x: Wann wird es landen, was ist zu erwarten?

Lesezeit: 4 Minuten

Benutzer-Avatar
Matt Tischler

C99 wird immer noch nicht von vielen Compilern unterstützt, und ein Großteil des Fokus liegt jetzt auf C++ und seinem kommenden Standard C++1x.

Ich bin gespannt, was C in seinem nächsten Standard “bekommen” wird, wann es es bekommen wird und wie es C wettbewerbsfähig halten wird. C und C++ sind dafür bekannt, sich gegenseitig von den Verbesserungen zu ernähren, wird C vom C++1x-Standard profitieren?

Worauf kann ich mich in der Zukunft von C freuen?

  • Gibt es überhaupt einen Vorstoß für eine weitere C-Revision? Alles, was mir noch einfällt, was jemand in C wollen könnte, ist eigentlich ein Hinweis, dass er zu einer höheren Sprache wechseln sollte …

    – Nikolaus Ritter

    27. Juli 2010 um 5:38 Uhr

  • No C spielt immer noch eine sehr wichtige Rolle. Mich interessiert, welche Änderungen geplant sind, um sie anwendbar und auf dem neuesten Stand zu halten. Ein höheres Niveau zu erreichen, ist meiner Meinung nach kein Teil davon.

    – Matt Tischler

    27. Juli 2010 um 5:44 Uhr


  • Eine ausführlichere Zusammenfassung als Wikipedia wäre schön. Der Entwurf ist so langweilig zu lesen.

    – Matt Tischler

    27. Juli 2010 um 7:03 Uhr

  • Auch wenn ich wissen, wie viele Dinge in diesem statischen Array sind, warum kann der Compiler das nicht? Ich habe es nur in kleinen eckigen Klammern gesagt! Warum kann ich nicht die Anzahl der Werte dieser Aufzählung verwenden, die ich gerade deklariert habe, anstatt einen Dummy-Endwert hinzuzufügen? Ich meine, das sind alles kleine Ärgernisse, aber es sind alles Eigenheiten, die zur Kompilierzeit behoben werden können, deren Behebung keine Auswirkungen auf die Laufzeit hätte.

    – dezent

    27. Juli 2010 um 7:10 Uhr

  • Wie auch immer, ich möchte keinen Flamewar darüber beginnen, mein Punkt war, dass es möglich ist, die Sprache zu optimieren, ohne Änderungen vorzunehmen, die die Verwendung einer “höheren” Sprache erfordern würden.

    – dezent

    27. Juli 2010 um 7:46 Uhr


Benutzer-Avatar
Jukka Suomela

Das ISO/IEC 9899:2011-Standardauch bekannt als C11, wurde in veröffentlicht Dezember 2011.

Der neuste Entwurf ist N1570; Mir sind keine Unterschiede zum endgültigen Standard bekannt. Es gibt bereits eine technische Berichtigung, die ein Versehen in der Spezifikation von behebt __STDC_VERSION__ (jetzt 201112L) und optional __STDC_LIB_EXT1__ (jetzt 201112L).

Benutzer-Avatar
schott

Ich habe eine Liste von Funktionen eingegeben, aber das bemerkt Wikipedia-Seite zu C1X hat eine ziemlich vollständige Auflistung aller vorgeschlagenen Änderungen.

Auf der ISO C-Arbeitsgruppe postet sie Mailings nach dem Treffen Webseite. Eine der interessanteren ist dies Bericht der Redaktion.

  • Ich wäre daran interessiert, mehr Details zu hören, als die Wikipedia-Seite bietet. Vor allem über die neuen Charaktertypen. Wird es eine ganze Familie von Funktionen geben, um Strings dieser Art zu manipulieren (ala strstr, etc.) oder nur die Funktionen zum Hin- und Herwandeln in Multibyte-Strings? Was Threads betrifft, ist die einzige Ergänzung die __thread Stichwort? Oder könnte es eine neue API für portable Threads geben, die weniger komplex und vernünftiger ist als POSIX-Threads?

    – R.. GitHub HÖR AUF, EIS ZU HELFEN

    27. Juli 2010 um 6:47 Uhr

  • Darüber hinaus frage ich mich, wie C1x-Threads und POSIX-Threads möglicherweise interagieren. Es wäre sehr bedauerlich, wenn die zugrunde liegende Implementierung nicht dieselbe sein könnte, auf die entweder über die einfache API zugegriffen wird, die auf einer Reihe von Systemen (C1x) implementiert würde, oder über die funktionsreiche API, die nur in POSIX-Umgebungen verfügbar ist.

    – R.. GitHub HÖR AUF, EIS ZU HELFEN

    27. Juli 2010 um 7:29 Uhr

  • Ich denke, es ist sehr wahrscheinlich, dass es sich um einen Schnittstellen-Wrapper und eine Teilmenge oder eine exakte Nachbildung von pthreads handelt.

    – Matt Tischler

    27. Juli 2010 um 9:18 Uhr

  • Niemand würde die Threads von C verwenden, wenn sie sich grundlegend von den POSIX-Threads unterscheiden würden, die bereits weit verbreitet, dokumentiert und verstanden sind.

    – Traumlax

    27. Juli 2010 um 9:22 Uhr

  • Ich habe gehört, dass C1x und C++11 hart daran gearbeitet haben, ihre Thread-Modelle und Atomic zu synchronisieren. @R Sie haben das Schlüsselwort _Atomic hinzugefügt.

    – Emsr

    10. Juli 2011 um 0:08 Uhr

Hier ist eine Zusammenfassung von der Wikipedia-Seite:

  • Ausrichtungsspezifikation (_Align Spezifizierer, alignof Operator, aligned_alloc Funktion)
  • Multithreading-Unterstützung (_Thread_local Speicherklassenbezeichner, <threads.h> Header einschließlich Thread-Erstellungs-/Verwaltungsfunktionen, Mutex, Bedingungsvariable und Thread-spezifische Speicherfunktionalität)
  • Verbesserte Unicode-Unterstützung (char16_t und char32_t -Typen zum Speichern von UTF-16/UTF-32-codierten Daten, einschließlich der entsprechenden u- und U-String-Literalpräfixe und Konvertierungsfunktionen in <uchar.h>)
  • Entfernung der gets Funktion
  • Bounds-Checking-Schnittstellen (Anhang K)
  • Analysierbarkeitsmerkmale (Anhang L)

  • Gute Besserung gets().

    – Traumlax

    27. Juli 2010 um 7:06 Uhr

  • dreamlax: In der Tat, ich wollte “Yay!” nach diesem Artikel, dachte aber, es könnte geschmacklos sein …

    – Gabe

    27. Juli 2010 um 7:14 Uhr

  • Im neuesten Entwurf erhalten wir _Generic! Eine manuelle Version des Funktionsüberladens von C++.

    – Jo D

    12. August 2010 um 22:39 Uhr

  • @Joe D: Type Generika sehen toll aus.

    – Matt Tischler

    22. September 2010 um 10:43 Uhr

Benutzer-Avatar
emsr

Ich sehe aus wie gcc ab 4.6 ist beginnend C1x anschauen. Sie behaupten zu haben:

  • Statische Zusicherungen (Schlüsselwort _Static_assert)
  • Typedef-Neudefinition
  • Neue Makros in
  • Anonyme Strukturen und Gewerkschaften

Benutzer-Avatar
Jerry Sarg

Wahrscheinlich ist der beste Ort, um den aktuellen Status zu finden, ein Blick auf die neuster Entwurf der neuen Version der C-Norm. Warnung: Obwohl es direkt vom Komitee kommt, ist der Server hinter diesem Link nicht immer der reaktionsschnellste …

1065510cookie-checkC1x: Wann wird es landen, was ist zu erwarten?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy