Software Alternatives, Accelerators & Startups

Tiny C Compiler VS Yasm

Compare Tiny C Compiler VS Yasm and see what are their differences

Tiny C Compiler logo Tiny C Compiler

The Tiny C Compiler is an x86, x86-64 and ARM processor C compiler created by Fabrice Bellard.

Yasm logo Yasm

Yasm is a complete rewrite of the NASM assembler.
  • Tiny C Compiler Landing page
    Landing page //
    2019-11-06
  • Yasm Landing page
    Landing page //
    2019-09-10

Tiny C Compiler features and specs

  • Fast Compilation
    Tiny C Compiler (TCC) is known for its incredibly fast compilation speed, which makes it ideal for quick compilations and testing.
  • Small Size
    TCC has a very small footprint compared to other compilers, making it easy to include in applications and use in environments with limited resources.
  • C99 Support
    TCC provides support for the C99 standard, allowing the use of newer C language features.
  • Dynamic Code Generation
    TCC can compile and execute code dynamically, which can be useful for scripting or embedded contexts.
  • Simplified Licensing
    Under the GNU Lesser General Public License (LGPL), TCC can be more easily used in various projects, including proprietary ones, compared to compilers with more restrictive licenses.

Possible disadvantages of Tiny C Compiler

  • Limited Optimization
    TCC does not perform extensive optimization, which can result in less efficient executable code compared to compilers like GCC or Clang.
  • Incomplete C Standard Library
    TCC's standard C library implementation is not as complete as those of more established compilers, which might lead to compatibility issues.
  • Lack of Detailed Documentation
    Users may find the available documentation lacking in detail, which can hinder learning and debugging for complex projects.
  • Limited Platform Support
    TCC is primarily designed for smaller-scale applications and lacks some platform-specific and cross-compilation capabilities.
  • Fewer Community Resources
    Compared to major compilers like GCC or Clang, TCC has a smaller user community, which can mean fewer tutorials, forums, and third-party support tools.

Yasm features and specs

  • Cross-Platform Compatibility
    Yasm is designed to work on multiple operating systems including Windows, Linux, and macOS, providing flexibility across development environments.
  • Support for Multiple Architectures
    Yasm supports multiple CPU architectures such as x86, x86-64, and more, making it versatile for developers working on different hardware platforms.
  • Open Source
    As free and open-source software, Yasm allows developers to contribute to its development and use it freely, improving security transparency and reducing costs.
  • Compatibility with NASM
    Yasm is largely compatible with NASM syntax, allowing developers who are familiar with NASM to easily transition to using Yasm.
  • Active Community
    The project has a supportive community that can help new users get started and provide ongoing support through forums and online resources.

Possible disadvantages of Yasm

  • Limited Documentation
    Some users might find the available documentation sparse or lacking in detailed examples, which can hinder the learning process for beginners.
  • Potential for Less Frequent Updates
    As with many open-source projects, the frequency of updates or new features may vary and sometimes lag behind more actively maintained projects.
  • Complex Configuration
    Advanced configuration might require a deep understanding of the tool and its syntax, posing a challenge for less experienced developers.
  • Toolchain Integration
    Integrating Yasm into certain modern development toolchains might not be as straightforward as with more popular or modern assemblers.

Tiny C Compiler videos

No Tiny C Compiler videos yet. You could help us improve this page by suggesting one.

Add video

Yasm videos

Spelunky Classic! Mod Review- YASM 1.7

More videos:

  • Review - A Night of Royalty: Kaftan Extravaganza | RCCG YASM Convention 2019 | Brandon and Tobi
  • Review - YASM Update - Mr YASM Mini Bio

Category Popularity

0-100% (relative to Tiny C Compiler and Yasm)
IDE
69 69%
31% 31
Text Editors
58 58%
42% 42
Project Management
70 70%
30% 30
Email Marketing
82 82%
18% 18

User comments

Share your experience with using Tiny C Compiler and Yasm. For example, how are they different and which one is better?
Log in or Post with

Social recommendations and mentions

Based on our record, Tiny C Compiler seems to be a lot more popular than Yasm. While we know about 35 links to Tiny C Compiler, we've tracked only 3 mentions of Yasm. We are tracking product recommendations and mentions on various public social media platforms and blogs. They can help you identify which product is more popular and what people think of it.

Tiny C Compiler mentions (35)

  • Weird Lexical Syntax
    > I'm not sure who wants to be able to syntax highlight C at 35 MB per second, but I am now able to do so Fast, but tcc *compiles* C to binary code at 29 MB/s on a really old computer: https://bellard.org/tcc/#speed. - Source: Hacker News / 6 months ago
  • Pnut: A C to POSIX Shell Compiler you can Trust
    "Because Pnut can be distributed as a human-readable shell script (`pnut.sh`), it can serve as the basis for a reproducible build system. With a POSIX compliant shell, `pnut.sh` is sufficiently powerful to compile itself and, with some effort, [TCC](https://bellard.org/tcc/). Because TCC can be used to bootstrap GCC, this makes it possible to bootstrap a fully featured build toolchain from only human-readable... - Source: Hacker News / 10 months ago
  • Cwerg: C-like language that can be implemented in 10kLOC
    For what it's worth you can implement a C compiler in under 10kLOC. The chibi C compiler is only a few thousand lines [1]. There is also Cake [2] and the tiny C compiler [3] which are both relatively small. [1] https://github.com/rui314/chibicc [3] https://bellard.org/tcc/. - Source: Hacker News / about 1 year ago
  • Exploring the Internals of Linux v0.01
    I was going to say, the list should include something by Fabrice Bellard. Tiny C Compiler is one. https://bellard.org/tcc/ I was thinking, maybe first version/commit of QEMU would be interesting to read. - Source: Hacker News / over 1 year ago
  • The C Interpreter: A Tutorial for Cin
    I occasionally use tcc (https://bellard.org/tcc/) like an interpreter (`tcc -run`), it's convenient for certain odd tasks. Not so much for interactive stuff, but if I'm building little PoCs for an idea that will get dropped into a C project, or fiddling with structs work out how something should/is being stored, or in situations where I'm making stuff that interacts with or examples based on C code and I want to... - Source: Hacker News / almost 2 years ago
View more

Yasm mentions (3)

  • The Netwide Assembler (NASM)
    Trust me, at least on Intel, you do not want to write assembly inside your C/C++ code, unless it's just a couple of lines. The usual AT&T syntax will drive you nuts, and the additional syntax for embedding assembly only adds to the misery. For any reasonable amounts (say, you want a function or several) of assembly, you want Intel syntax and standalone assembly files. NASM is a great tool, although YASM should... - Source: Hacker News / over 1 year ago
  • Choosing the best assembler to work under GNU/Linux
    Things like yasm only have tasm support...not sure if that will be enough in your case. Source: about 3 years ago
  • NASM Assembly Language Tutorials
    Can also recommend the rewrite of NASM, YASM. https://yasm.tortall.net/. - Source: Hacker News / over 3 years ago

What are some alternatives?

When comparing Tiny C Compiler and Yasm, you can also consider the following products

GNU Compiler Collection - The GNU Compiler Collection (GCC) is a compiler system produced by the GNU Project supporting...

NASM - The Netwide Assembler, NASM, is an 80x86 and x86-64 assembler designed for portability and...

clang - C, C++, Objective C and Objective C++ front-end for the LLVM compiler.

flat assembler - A fast and efficient self-assembling x86 assembler for DOS, Windows and Linux.

LLVM - LLVM is a compiler infrastructure designed for compile-time, link-time, run-time, and...

PCem - PCem emulates an IBM 5150 PC, several models of clones and successors, along with various graphics...