Bahasa Pemrograman C 1978
"C adalah bahasa pemrograman tujuan umum yang menampilkan ekonomi ekspresi, aliran kontrol modern dan struktur data, dan serangkaian operator yang kaya. C bukan bahasa yang" sangat tinggi ", atau yang" besar ", dan tidak khusus untuk bidang aplikasi tertentu. Tetapi tidak adanya pembatasan dan generasitasnya membuatnya lebih nyaman dan efektif untuk banyak tafsen daripada yang seharusnya lebih kuat."
"Dalam pengalaman kami, C telah terbukti menjadi bahasa yang menyenangkan, ekspresif, dan serbaguna untuk berbagai macam program. Mudah dipelajari, dan ia memakai dengan baik seperti pengalaman seseorang dengan itu tumbuh"
Bahasa Pemrograman C Edisi Kedua 1988
"Seperti yang kami katakan dalam kata pengantar untuk edisi pertama, C" dengan baik karena pengalaman seseorang dengan itu tumbuh. "Dengan satu dekade lebih banyak pengalaman, kami masih merasa seperti itu."
Cake adalah compiler front-end yang ditulis dari awal dalam C, mematuhi spesifikasi bahasa C23 dan seterusnya. Ini berfungsi sebagai platform untuk bereksperimen dengan fitur -fitur baru, termasuk proposal bahasa C2Y, peningkatan keamanan, dan ekstensi seperti ekspresi lambda dan pernyataan tunduk.
Backend saat ini menghasilkan kode yang kompatibel dengan C89, yang dapat disalurkan dengan kompiler yang ada untuk menghasilkan executable.
Cake bertujuan untuk meningkatkan keamanan C dengan menyediakan pesan peringatan berkualitas tinggi dan analisis aliran lanjutan, termasuk pemeriksaan seumur hidup objek.
Ini adalah cara terbaik untuk mencoba.
http://thradams.com/cake/playground.html
Catatan: Kue masih dalam pengembangan dan belum mencapai versi yang stabil.
Kue dapat digunakan sebagai penganalisa statis bersama kompiler lainnya. Ini menghasilkan file sarif, yang dikenali oleh ide populer seperti Visual Studio dan Visual Studio Code, memberikan integrasi yang mulus.
Ini juga dapat berfungsi sebagai preprocessor, mengonversi kode C23 ke C89. Ini memungkinkan pengembang untuk menggunakan fitur modern sambil menargetkan kompiler yang belum mendukung standar bahasa terbaru.
Versi kue sebelumnya termasuk mode konversi untuk menerjemahkan kode sambil melestarikan bagian preprocessor. Meskipun berguna, proses ini tidak dapat menjamin konversi 100%, berfungsi lebih sebagai alat daripada kompiler. Dengan versi baru kue yang bergerak menuju menjadi kompiler yang lebih tradisional, mode sebelumnya telah dihentikan pada versi 0.9.36. Versi ini online di sini http://thradams.com/cake3/playground.html.
Github https://github.com/thradams/cake
Buka prompt perintah pengembang Visual Studio. Pergi ke direktori dan ketik SRC
cl build.c && build
Ini akan membangun kue.exe , lalu jalankan kue dengan kode sumbernya sendiri.
Sampai ke direktori dan ketik SRC :
gcc build.c -o build && ./build
Sampai ke direktori dan ketik SRC :
clang build.c -o build && ./build
Untuk menjalankan tes unit windows/linux add -dtest misalnya:
gcc -DTEST build.c -o build && ./build
Emscripten https://emscripten.org/ diperlukan.
Pertama lakukan build normal.
Bangunan normal juga menghasilkan file lib.c yang merupakan versi amalgamated dari "inti lib".
Kemudian di ./src Dir Tipe:
call emcc -DMOCKFILES "lib.c" -o "Webcake.js" -s WASM=0 -s EXPORTED_FUNCTIONS="['_CompileText']" -s EXTRA_EXPORTED_RUNTIME_METHODS="['ccall', 'cwrap']"
Ini akan menghasilkan src web cake.js
Pastikan kue ada di jalur sistem Anda.
Sampel
cake source.c
ini akan menghasilkan ./out/source.c
Lihat manual
Bagaimana kita bisa sampai di sini?
Salinan setiap draft standar C termasuk dalam folder Docs .
Pendahuluan yang sangat bagus ditulis oleh Al Williams
Pemrograman C23 untuk semua orang
https://hackaday.com/2022/09/13/c23-programming-for-everyone/
Anda dapat berkontribusi dengan mencoba kue, melaporkan bug, dan memberikan umpan balik.
Punya saran untuk C?
Server Perselisihan
https://discord.gg/yrekr2n65s
Saya menggunakan Visual Studio 2022 IDE untuk menulis/men -debug sumber kue. Kue mengurai dirinya sendiri menggunakan termasuk MSVC dan menghasilkan dir fnya setelah build.
Saya menggunakan kode Visual Studio dengan WSL untuk menguji dan menyusun kode untuk Linux.
Kode sumber kue tidak menggunakan ekstensi apa pun sehingga outputnya sama dengan input. Kompilasi ini berguna untuk melacak kesalahan bersama dengan tes unit.
Cfront adalah kompiler C ++ asli, yang dirancang untuk menerjemahkan kode C ++ ke dalam C.
Meskipun CFRONT awalnya kompatibel dengan C89, akhirnya menyimpang dari evolusi C.
Sebaliknya, kue tetap setia pada pengembangan inti C, memastikan kompatibilitas penuh.
Perluasannya bertujuan untuk mempertahankan esensi C sambil memungkinkan pengembang untuk bereksperimen dan berkontribusi pada evolusi C menggunakan kompiler open-source yang ditulis dalam C.