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.
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).
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:
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
emsr
Ich sehe aus wie gcc ab 4.6 ist beginnend C1x anschauen. Sie behaupten zu haben:
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 …
10655100cookie-checkC1x: Wann wird es landen, was ist zu erwarten?yes
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