Software Alternatives, Accelerators & Startups

Portable C Compiler VS Emscripten

Compare Portable C Compiler VS Emscripten and see what are their differences

Portable C Compiler logo Portable C Compiler

pcc is a C99 compiler which aims to be small, simple, fast and understandable.

Emscripten logo Emscripten

Emscripten is an LLVM to JavaScript compiler.
  • Portable C Compiler Landing page
    Landing page //
    2019-11-06
  • Emscripten Landing page
    Landing page //
    2021-08-02

Portable C Compiler features and specs

  • Simplicity
    PCC is designed to be simple and easy to understand, making it a good choice for educational purposes and for those learning about compilers.
  • Portability
    As its name suggests, PCC is portable and can be easily adapted to different machine architectures, allowing for broad platform support.
  • Small Size
    PCC has a smaller code base compared to other compilers like GCC, which makes it more lightweight and quicker to compile.
  • Legacy Code Support
    PCC is useful for compiling older C code that may not comply with modern C standards, providing support for legacy systems.

Possible disadvantages of Portable C Compiler

  • Limited Features
    PCC may lack some of the advanced features and optimizations found in more modern compilers like GCC or Clang.
  • Performance
    The performance of code compiled with PCC may not be as optimized as that compiled with other contemporary compilers.
  • Community and Support
    PCC has a smaller community and less active development compared to larger projects, potentially leading to fewer updates and less troubleshooting support.
  • Standard Compliance
    PCC may not fully support the latest C standards, which could be a limitation for projects that need to adhere to modern specifications.

Emscripten features and specs

  • Cross-platform compatibility
    Emscripten enables developers to compile C and C++ code to WebAssembly or JavaScript, allowing the same codebase to run on multiple platforms, such as browsers and node.js, without needing additional platform-specific adaptations.
  • Leverage existing libraries
    Developers can utilize a vast ecosystem of existing C and C++ libraries by compiling them for the web, saving time and resources required for rewriting or finding alternatives developed in JavaScript.
  • Performance optimization
    Emscripten's compilation to WebAssembly provides near-native performance for web applications, making it suitable for compute-intensive tasks like gaming, simulations, and data processing.
  • Familiar toolchain
    Developers can use familiar tools like CMake and others as part of their Emscripten workflow, making it easier for those with C/C++ backgrounds to adapt and integrate into their web development processes.

Possible disadvantages of Emscripten

  • Steep learning curve
    Developers unfamiliar with C and C++ may find Emscripten challenging to use effectively, as it requires knowledge of these languages and their build systems to create and debug applications.
  • Limitations in browser environments
    Certain features of C/C++ may not translate directly to web environments due to browser sandboxing constraints, leading to potential issues with file I/O, threading, and other system-level operations.
  • Code size
    Compiled WebAssembly and JavaScript code can sometimes be large, potentially affecting load times and performance, especially on lower-end devices with restrictive bandwidth or processing capabilities.
  • Debugging complexity
    Debugging WebAssembly code can be more complex than traditional JavaScript, requiring specialized tooling and techniques to trace and fix issues effectively.

Portable C Compiler videos

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

Add video

Emscripten videos

Monster Madness Online (Emscripten Web Technology Overview)

Category Popularity

0-100% (relative to Portable C Compiler and Emscripten)
IDE
38 38%
62% 62
Project Management
48 48%
52% 52
Email Marketing
22 22%
78% 78
Text Editors
47 47%
53% 53

User comments

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

Social recommendations and mentions

Based on our record, Emscripten seems to be a lot more popular than Portable C Compiler. While we know about 47 links to Emscripten, we've tracked only 2 mentions of Portable C Compiler. 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.

Portable C Compiler mentions (2)

  • Hand-optimizing the TCC code generator
    Check PCC [1]. Official release was 2014, but development still active [2]. [1] http://pcc.ludd.ltu.se/. - Source: Hacker News / about 3 years ago
  • Research Unix v7 for Raspberry Pi
    Works for me in qemu, but remember to provide an SD card image as mentioned in the README before you run "make tools/sd.img" - e.g. The one in the releases https://github.com/r1mikey/research-unix-v7/releases/download/v7-unix-pi1-20200212/v7-unix-pi1-20200212.img.xz Otherwise, qemu will start up complaining about a large number of invalid memory accesses. Unfortunately, there is no port of pcc (the portable C... - Source: Hacker News / over 3 years ago

Emscripten mentions (47)

  • Ask HN: Qt style "Signals and Slots" based JavaScript UI library?
    The first thing that comes to mind is that Qt now has a WebAssembly port[1] using Emscripten[2], so depending on your use-case, you could possibly just run Qt on the Web platform and avoid the need for a JavaScript framework entirely. [1]: https://doc.qt.io/qt-5/wasm.html [2]: https://emscripten.org. - Source: Hacker News / about 2 months ago
  • Ask HN: Resources for Learning Graphics Programming
    Me and a friend build our own Graphics engines based on https://learnopengl.com I can highly recommend this to everyone who gets started with computer graphics. It is a lot of new information but not the most modern Graphics library, but the information will help you understand the field and pickup any other graphics library quicker. Once I had a small project up and running I started looking at... - Source: Hacker News / 9 months ago
  • Software Applications Incorporated
    Https://infinitemac.org, which is https://basilisk.cebix.net compiled for the web using https://emscripten.org. - Source: Hacker News / over 1 year ago
  • How does one get started with unit testing?
    One place that I’ve found some real, open source unit tests to look at for an example is in the emsdk for emscripten: https://emscripten.org. Source: over 1 year ago
  • Playing with low-level memory in WebAssembly
    I am playing around with Emscipten which wraps around clang to compile C/C++ code in WASM binary and provide some glue-code API to embed WASM binary into JavaScript. Look into MDN Docs and Emscripten SDK to get started. - Source: dev.to / almost 2 years ago
View more

What are some alternatives?

When comparing Portable C Compiler and Emscripten, 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...

WebAssembly - Application and Data, Languages & Frameworks, and Languages

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

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

Cheerp - Enterprise-grade C/C++ compiler for Web applications. Compiles to WASM/JavaScript

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