You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add C as a new language in lessons/compiled_lang/, alongside the existing C++/C#/Go/Java/Rust.
Based on cpp/ as the reference (not go/ - C shares C++'s two-stage compile-then-link build model via make, unlike Go/Rust's single-step toolchain compilers), since C and C++ also share the same underlying compiler toolchain:
New lessons/compiled_lang/c/ directory: Makefile(.win) (adapted from cpp/Makefile - CC := gcc, CFLAGS := -std=c17 -O2 -Wall, -static-libgcc on Windows for the same DLL-mismatch reason cpp/Makefile already documents, no -static-libstdc++ since C doesn't link libstdc++), Rakefile (imports shared testbox.rake), psakefile.ps1, src/ with one .c file per lesson (~60 files mirroring cpp/src's set, minus anything that's specifically a C++ language feature rather than a general lesson topic), bin//target/ output dirs
No new entries needed in Brewfile/choco.config/cygwin_pkgs.txt/msys2_pkgs.txt - confirm the existing C++ toolchain packages (gcc-core/gcc-g++, mingw-w64-x86_64-toolchain, visualstudio2022buildtools w/ VCTools, Homebrew's make + Xcode CLI tools) already provide a working C compiler on every platform, since gcc/clang ship C support alongside C++
Add a C entry to the Compiled Languages area in scriptbox/scripts/verify_commands.rb's AREAS
lessons/compiled_lang/README.md update
This is a full new-language port (~60 lesson files), so likely worth breaking into smaller PRs rather than one large one.
Add C as a new language in
lessons/compiled_lang/, alongside the existing C++/C#/Go/Java/Rust.Based on
cpp/as the reference (notgo/- C shares C++'s two-stage compile-then-link build model viamake, unlike Go/Rust's single-step toolchain compilers), since C and C++ also share the same underlying compiler toolchain:lessons/compiled_lang/c/directory:Makefile(.win) (adapted fromcpp/Makefile-CC := gcc,CFLAGS := -std=c17 -O2 -Wall,-static-libgccon Windows for the same DLL-mismatch reasoncpp/Makefilealready documents, no-static-libstdc++since C doesn't link libstdc++),Rakefile(imports sharedtestbox.rake),psakefile.ps1,src/with one.cfile per lesson (~60 files mirroringcpp/src's set, minus anything that's specifically a C++ language feature rather than a general lesson topic),bin//target/output dirsBrewfile/choco.config/cygwin_pkgs.txt/msys2_pkgs.txt- confirm the existing C++ toolchain packages (gcc-core/gcc-g++,mingw-w64-x86_64-toolchain,visualstudio2022buildtoolsw/ VCTools, Homebrew'smake+ Xcode CLI tools) already provide a working C compiler on every platform, sincegcc/clangship C support alongside C++Centry to theCompiled Languagesarea inscriptbox/scripts/verify_commands.rb'sAREASlessons/compiled_lang/README.mdupdateThis is a full new-language port (~60 lesson files), so likely worth breaking into smaller PRs rather than one large one.