Die C -Programmiersprache 1978
"C ist eine allgemeine Programmiersprache, die die Wirtschaftlichkeit des Ausdrucks, den modernen Kontrollfluss und die Datenstrukturen und eine reiche Reihe von Betreibern ausmacht.
"Nach unserer Erfahrung hat sich C für eine Vielzahl von Programmen als angenehme, ausdrucksstarke und vielseitige Sprache erwiesen. Es ist leicht zu lernen und trägt sich gut, als die eigene Erfahrung damit wächst."
Die C -Programmiersprache Second Edition 1988
"Wie wir im Vorwort zur ersten Ausgabe sagten, wächst C" gut, als die eigene Erfahrung wächst. "Mit einem Jahrzehnt mehr Erfahrung fühlen wir uns immer noch so."
Cake ist ein Compiler Front-End, der in C von Grund auf geschrieben wurde und sich an die C23-Sprachspezifikation und darüber hinaus hält. Es dient als Plattform zum Experimentieren mit neuen Merkmalen, einschließlich Vorschlägen von C2Y -Sprache, Sicherheitsverbesserungen und Erweiterungen wie Lambda -Ausdrücken und Aufschubanweisungen.
Das aktuelle Backend generiert C89-kompatible Code, der mit vorhandenen Compilern zur Erzeugung ausführbarer Artikel pipeliert werden kann.
Cake zielt darauf ab, die Sicherheit von C zu verbessern, indem qualitativ hochwertige Warnmeldungen und fortgeschrittene Flussanalysen, einschließlich der Lebensdauerüberprüfung von Objekten, bereitgestellt werden.
Dies ist der beste Weg, um es zu versuchen.
http://thradams.com/cake/playground.html
Hinweis: Kuchen ist noch in der Entwicklung und hat noch keine stabile Version erreicht.
Kuchen kann neben anderen Compilern als statischer Analysator verwendet werden. Es generiert SARIF -Dateien, die von beliebten IDES wie Visual Studio und Visual Studio Code erkannt werden und eine nahtlose Integration bieten.
Es kann auch als Präprozessor fungieren und C23 -Code in C89 konvertieren. Dies ermöglicht es Entwicklern, moderne Funktionen zu verwenden, während sie auf Compiler abzielen, die die neuesten Sprachstandards noch nicht unterstützen.
Frühere Versionen von Kuchen enthielten einen Konvertierungsmodus, um Code zu übersetzen und gleichzeitig die Präprozessor -Teile zu erhalten. Obwohl nützlich, konnte dieser Prozess nicht eine 100% ige Konvertierung garantieren, was eher als Werkzeug als als Compiler fungierte. Da sich die neuen Versionen des Kuchens zu einem traditionelleren Compiler bewegten, wurde der vorherige Modus auf Version 0.9.36 eingestellt. Diese Version ist hier online http://thradams.com/cake3/playground.html.
Github https://github.com/thradams/cake
Öffnen Sie die Entwicklereingabeaufforderung von Visual Studio. Gehen Sie zum SRC -Verzeichnis und tippen Sie auf
cl build.c && build
Dies baut Cake.exe auf und führt dann Kuchen auf seinem eigenen Quellcode aus.
Kommen Sie zum SRC -Verzeichnis und geben Sie: Typ:
gcc build.c -o build && ./build
Kommen Sie zum SRC -Verzeichnis und geben Sie: Typ:
clang build.c -o build && ./build
So führen Sie Unit -Tests beispielsweise Windows/Linux aus :
gcc -DTEST build.c -o build && ./build
EMSCIPTEN https://emscriptten.org/ ist erforderlich.
Führen Sie zuerst den normalen Build durch.
Der normale Build generiert auch eine Datei lib.c , die die zusammengeschaltete Version der "Core lib" ist.
Dann at ./src ide type:
call emcc -DMOCKFILES "lib.c" -o "Webcake.js" -s WASM=0 -s EXPORTED_FUNCTIONS="['_CompileText']" -s EXTRA_EXPORTED_RUNTIME_METHODS="['ccall', 'cwrap']"
Dies erzeugt die src web cake.js
Stellen Sie sicher, dass sich Cake auf Ihrem Systemweg befindet.
Proben
cake source.c
Dies wird ausgegeben ./out/source.c
Siehe Handbuch
Wie sind wir hierher gekommen?
Eine Kopie jedes C -Standardentwurfs in DOCS -Ordner.
Eine sehr schöne Einführung wurde von Al Williams geschrieben
C23 -Programmierung für alle
https://hackaday.com/2022/09/13/c23-programming-for-everyone/
Sie können einen Beitrag leisten, indem Sie Kuchen ausprobieren, Fehler melden und Feedback geben.
Haben Sie einen Vorschlag für C?
Discord Server
https://discord.gg/yrekr2n65s
Ich verwende Visual Studio 2022 IDE, um Kuchenquelle zu schreiben/zu debuggen. Kuchen analysiert sich mit dem Include von MSVC und erzeugt das Out Dir nach dem Bau.
Ich verwende Visual Studio -Code mit WSL zum Testen und Kompilieren des Codes für Linux.
Der Kuchenquellcode verwendet keine Erweiterung, sodass die Ausgabe die gleiche Eingangsausgabe hat. Diese Zusammenstellung ist nützlich, um Fehler zusammen mit den Unit -Tests zu verfolgen.
CFRONT war der ursprüngliche C ++ - Compiler, der den C ++ - Code in C übersetzt hat.
Obwohl CFRONT ursprünglich mit C89 kompatibel war, ging sie schließlich von der Entwicklung von C ab.
Im Gegensatz dazu bleibt der Kuchen der Kernentwicklung von C treu, um die volle Kompatibilität zu gewährleisten.
Seine Erweiterungen zielen darauf ab, die Essenz von C zu bewahren und gleichzeitig Entwicklern zu experimentieren und zur Entwicklung von C mit einem Open-Source-Compiler in C. zur Entwicklung von C beizutragen.