{"slug": "tcc", "name": "TCC", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 4, "commenters": 5, "warners": 0, "score": 3.772, "rising": -1.31, "first": "2026-02-07", "latest": "2026-07-11", "why": "TCC is fantastic! I use it a lot to do fast native-code generation for language projects", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 4, "neutral": 1, "compare": 0, "warn": 0}, "spark": [0, 0, 0, 2, 0, 1, 0, 0, 1, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "TCC is fantastic! I use it a lot to do fast native-code generation for language projects", "icon": false, "domain": null, "github_repo": null, "official_url": "https://bellard.org/tcc/", "pricing": "", "aliases": ["TCC", "tcc"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 781998832, "item_id": 48874927, "url": "https://news.ycombinator.com/item?id=48874927", "by": "b-kf", "date": "2026-07-11", "stance": "recommend", "quote": "(I can't even articulate why I love it so much that this works)", "excerpt": "Exactly #!/usr/bin/tcc -run #include <stdio.h> int main(int argc, char **argv) { printf(\"Hello from C!\\n\"); for (int i = 1; i < argc; ++i) printf(\"argument %d: %s\\n\", i, argv[i]); return 0; } And ready is your cscript :) $ chmod u+x cscript && ./cscript hello world Hello from C! argument 1: hello argument 2: world (I can't even articulate why I love it so much that this works)", "context": "", "use_case": "running C as shell script", "switched_from": "", "story": "Amber the programming language compiled to Bash/Ksh/Zsh"}, {"id": 765304624, "item_id": 47831539, "url": "https://news.ycombinator.com/item?id=47831539", "by": "anthk", "date": "2026-04-20", "stance": "recommend", "quote": "I used small tools such as tcc, jimsh, eforth+muxleq, sacc, smu, catpoint+pointtools, compilers from https://t3x.org", "excerpt": "I did it too but TBH as I used small tools such as tcc, jimsh, eforth+muxleq, sacc, smu, catpoint+pointtools, compilers from https://t3x.org... I didn't care a lot on the rest, I'm pretty happy with my current account. You can do a lot with S9 Scheme and the Unix API/syscalls it supports.", "context": "", "use_case": "small tools on SDF shell account", "switched_from": "", "story": "SDF Public Access Unix System"}, {"id": 750890800, "item_id": 46930675, "url": "https://news.ycombinator.com/item?id=46930675", "by": "Jotalea", "date": "2026-02-07", "stance": "recommend", "quote": "TCC is my go-to for keeping builds lean.", "excerpt": "TCC is my go-to for keeping builds lean. on windows specifically, you get a functional C compiler in a few hundred KB, whereas the standard alternatives require gigabytes of disk space (that I don't have to spare) and complex environment setups", "context": "", "use_case": "lean C builds on Windows", "switched_from": "", "story": "Tiny C Compiler"}, {"id": 750868416, "item_id": 46929276, "url": "https://news.ycombinator.com/item?id=46929276", "by": "olivia-banks", "date": "2026-02-07", "stance": "recommend", "quote": "TCC is fantastic! I use it a lot to do fast native-code generation for language projects", "excerpt": "TCC is fantastic! I use it a lot to do fast native-code generation for language projects, and it works really really well.", "context": "", "use_case": "native code generation for language projects", "switched_from": "", "story": "Tiny C Compiler"}]}], "caveats": [], "who": [], "tags": [], "use_cases": ["running c as shell script", "memory error checking in c", "small tools on sdf shell account", "lean c builds on windows", "native code generation for language projects"], "compared": [], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=46928435", "title": "Tiny C Compiler", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=48822441", "title": "Amber the programming language compiled to Bash/Ksh/Zsh", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47843194", "title": "How to Make a Fast Dynamic Language Interpreter", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47819410", "title": "SDF Public Access Unix System", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {}, "2026-01": {}, "2026-02": {"recommend": 2}, "2026-03": {}, "2026-04": {"recommend": 1, "neutral": 1}, "2026-05": {}, "2026-06": {}, "2026-07": {"recommend": 1}, "2026-08": {}, "2026-09": {}, "2026-10": {}}, "quotes": [{"id": 781998832, "item_id": 48874927, "url": "https://news.ycombinator.com/item?id=48874927", "by": "b-kf", "date": "2026-07-11", "stance": "recommend", "quote": "(I can't even articulate why I love it so much that this works)", "excerpt": "Exactly #!/usr/bin/tcc -run #include <stdio.h> int main(int argc, char **argv) { printf(\"Hello from C!\\n\"); for (int i = 1; i < argc; ++i) printf(\"argument %d: %s\\n\", i, argv[i]); return 0; } And ready is your cscript :) $ chmod u+x cscript && ./cscript hello world Hello from C! argument 1: hello argument 2: world (I can't even articulate why I love it so much that this works)", "context": "", "use_case": "running C as shell script", "switched_from": "", "story": "Amber the programming language compiled to Bash/Ksh/Zsh"}, {"id": 765548928, "item_id": 47846808, "url": "https://news.ycombinator.com/item?id=47846808", "by": "tnelsond4", "date": "2026-04-21", "stance": "neutral", "quote": "I use the bounds checker in TCC to check for memory errors in C", "excerpt": "I use the bounds checker in TCC to check for memory errors in C, should I switch to Fil-C instead to debug my code? Obviously yolo-C is my target.", "context": "", "use_case": "memory error checking in C", "switched_from": "", "story": "How to Make a Fast Dynamic Language Interpreter"}, {"id": 765304624, "item_id": 47831539, "url": "https://news.ycombinator.com/item?id=47831539", "by": "anthk", "date": "2026-04-20", "stance": "recommend", "quote": "I used small tools such as tcc, jimsh, eforth+muxleq, sacc, smu, catpoint+pointtools, compilers from https://t3x.org", "excerpt": "I did it too but TBH as I used small tools such as tcc, jimsh, eforth+muxleq, sacc, smu, catpoint+pointtools, compilers from https://t3x.org... I didn't care a lot on the rest, I'm pretty happy with my current account. You can do a lot with S9 Scheme and the Unix API/syscalls it supports.", "context": "", "use_case": "small tools on SDF shell account", "switched_from": "", "story": "SDF Public Access Unix System"}, {"id": 750890800, "item_id": 46930675, "url": "https://news.ycombinator.com/item?id=46930675", "by": "Jotalea", "date": "2026-02-07", "stance": "recommend", "quote": "TCC is my go-to for keeping builds lean.", "excerpt": "TCC is my go-to for keeping builds lean. on windows specifically, you get a functional C compiler in a few hundred KB, whereas the standard alternatives require gigabytes of disk space (that I don't have to spare) and complex environment setups", "context": "", "use_case": "lean C builds on Windows", "switched_from": "", "story": "Tiny C Compiler"}, {"id": 750868416, "item_id": 46929276, "url": "https://news.ycombinator.com/item?id=46929276", "by": "olivia-banks", "date": "2026-02-07", "stance": "recommend", "quote": "TCC is fantastic! I use it a lot to do fast native-code generation for language projects", "excerpt": "TCC is fantastic! I use it a lot to do fast native-code generation for language projects, and it works really really well.", "context": "", "use_case": "native code generation for language projects", "switched_from": "", "story": "Tiny C Compiler"}]}